[elektro] cé típus

Skandar Graun sgraun at gmail.com
Fri May 16 09:03:03 CEST 2014


Megpróbálom... egyébként PIC C18
Köszi.


2014. május 16. 8:53 hg12345 írta, <hg12345 at freemail.hu>:

> Hi
> valószínűleg a C fordító nem áll a helyzet magaslatán, (mint használsz)
> Az automatikus cast-nak helyesen kéne működnie.
> Ez a jelenség optimazálás elött vagy után történik?
>
> egy utolsó próbát azért megér :
>
> h1_prop_err = huzo_1_cel - ((long) huzo_1_pos);
> elvileg a fentiek hatására az első változót is auto cast-olni kéne,
> de a biztonság kedvéért:
> h1_prop_err = ((long)huzo_1_cel) -  ((long) huzo_1_pos);
>
> Amúgy próbáld már ki a legegyszerűbb ellenőrzést, optimalizáció nélkül,
> mert úgy csak egy konstans helyettesítés lesz
>
> huzo_1_cel=100;
> h1_prop_err = huzo_1_cel;
>
> ekkor is csinálja, akkor menthetetlen.... :-(
>
> esetleg még ennél is célra törő megoldás:
> h1_prop_err = (int) 100;
>
> Érdemes megnézni az mire fordított, és nincs valami nagyon elvetemült
> fordítási opció beállítva.
>
>
> Skandar Graun <sgraun at gmail.com> írta:
> >Sziasztok!
> >
> >PIC C18
> >
> >int     h1_prop_err;
> >int     huzo_1_cel;
> >int      huzo_1_pos;
> >
> >huzo_1_pos = 100;
> >huzo_1_cel = 400;
> >
> >h1_prop_err = huzo_1_cel - huzo_1_pos;
> >
> >így jó.
> >
> >De ha:
> >
> >long     h1_prop_err;
> >int     huzo_1_cel;
> >int      huzo_1_pos;
> >
> >h1_prop_err = huzo_1_cel - huzo_1_pos;
> >
> >akkor nem jó, a long változó második byte-jába bejön egy 0x5f érték
> >
> >ha:
> >
> >long     h1_prop_err;
> >int     huzo_1_cel;
> >int      huzo_1_pos;
> >
> >h1_prop_err = (long)(huzo_1_cel - huzo_1_pos);
> >
> >akkor is.
> >
> >ha:
> >
> >long     h1_prop_err;
> >int     huzo_1_cel;
> >int      huzo_1_pos;
> >
> >h1_prop_err = ((long)huzo_1_cel - (long)huzo_1_pos);
> >
> >akkor is.
> >
> >Ha kimaszkolom &0x0ffff-el, akkor eltűnik, de akkor nem tudom kezelni a
> >negatív számokat.
> >
> >Mi nem jó?
> >-----------------------------------------
> >          elektro[-flame|-etc]
>
> -----------------------------------------
>           elektro[-flame|-etc]


More information about the Elektro mailing list