porownywanie liczb int8_t o roznych znakach, avrgcc

moze glupie pytanie, ale chyba cos zle robie albo ten kompilator (z avrstudio najnowsze, sp4) cos dziwnie interpretuje powiedzmy ze mam 2 liczby typu int8_t, czyli moga one przyjmowac wartosci od -128 do +127. Porownuje je ze soba. I wychodzi mi ze np:

8 (0x08) > 5 (0x05) = prawda, wiadomo- logiczne

-12 (0xF4) > 5 (0x05) = prawda (no bitowo patrzac to tak, ale przeciez kompilator wie ze to typ ze znakiem!) Ta sama procedurka skompilowana pod "zwyklym" gcc (i operujace na int) na x86 dziala prawidlowo, tzn porownujac ujemna do dodatniej - ujemna jest mniejsza...

Reply to
BartekK
Loading thread data ...

BartekK snipped-for-privacy@drut.org pisze:

OIDP google: integral promotion

Reply to
Patryk Sielski

Piotr Gałka napisał(a):

Rebus, zmienilem optymalizacje, przekompilowalem i dziala. Zmienilem spowrotem - tez dziala...

Reply to
BartekK

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.