Gast
#882550
Moin, moin,
habe ein kleines Problem mit Shift-operationen bei unsigned long.
Umgebug: atmega128, avr-gcc 4.1.1, avr-libc: 1.4.5
habe im forum leider nicht wirklich was gefunden, müssen irgendwelche
gcc-parameter gesetzt werden ?
code:
unsigned char i;
unsigned long val;
for (i=0;i<31;i++) {
val = (unsigned long) (1<<i);
printf ("(%d): %lX\n",i, val);
}
ergebnis sieht dann so aus:
(0): 1
(1): 2
(2): 4
(3): 8
(4): 10
(5): 20
(6): 40
(7): 80
(8): 100
(9): 200
(10): 400
(11): 800
(12): 1000
(13): 2000
(14): 4000
(15): FFFF8000
(16): 0
(17): 0
(18): 0
(19): 0
(20): 0
(21): 0
(23): 0
(24): 0
(25): 0
(26): 0
(27): 0
(28): 0
(29): 0
(30): 0