unsigned, signed max ertek

Fuzesi Arnold arno at externet.hu
Tue Mar 16 20:18:41 CET 2004


Tudtok egyszeru megoldast:

Egy makro kellene, ami megadja az adott egesz tip. unsigned valtozo
(char,int,
long  longlong stb) max erteket?

Ami hirtelen eszembe jutott, az ezer hibalehetoseget rejt, nem korrekt stb.
#define MAX_UVAL(val) (val|0xffffffff)
#define MAX_UVAL(val) (val|(~val))
#define MAX_UVAL(val) ((val&0)-1)
#define MAX_UVAL(val) ( ((1<<sizeof(val))*8)-1)

Olyat szeretnek ami nem dob hatast, ha mondjuk long-ot kap. De amugy meg
korrektul mukodik.
Szoval jo lenne, ha maga tudna eldonteni, nem elore "bedrotoznam", hogy
melyik sizeof(val)
ertekhez milyen max ertek tartozik.  Vagy ez a legkezenfekvobb?
Ugy erzem, hogy kenyes a tema...

Illetve hogy lehetne ezt atszerkeszteni, hogy unsignedre is, meg signedre is
mukodjon rendesen?
Elobbinek 65535-ot, utobbinak 32767-et adjon ertekul. (Allandoan megszivom,
hogy signedre is hasznalom)

Ugy szeretnem, hogy ne legyen meg csak veletlenul se fordito fuggo...


Tippek?
Arnold



More information about the Elektro mailing list