Jag har följande delikata situation. Oavsett hur jag castar får jag inte
villkoret att bli sant. Vad kan felet/problemet vara? Kompilatorn är Microchips C30 (=gcc).
Funkar inte ovanstående så är det kompilatorbugg.
Du kan ju kolla den genererade ASM-koden och se hur den gör egentligen.
Varför måste du blanda 32 och 16 bit?
Och även jämföra dom?
Prova gör en ny long-variabel och sätt värdet på den från b:
long tmp = (long)b;
Varför måste du blanda 32 och 16 bit?
Bra fråga, nu kom jag på en annan bättre lösning.
Grundproblemet är dock fortfarande oläst. Men det får vi brottas med en annan gång