MSPGCC, Shiftleft nicht mit 24 Stellen ?

Gast #1555195
Lesenswert?

Hallo,

bei mir gibt es mit dem MSPGCC Probleme, wenn im nachfolgenden Code der 
Wert von si grösser als ca. 20 ist.
Bei kleineren Werten von "si" klappt das ganze einwandfrei.

ui_tmp = ui_tmp + (1<<si);

Wenn ich den Wert von "ui_tmp" mit 65536 multipliziere (also um 16 
Stellen nach links schiebe), dann ergibt sich der richtige Wert, der 
Compiler kann so grosse Zahlen also verarbeiten.

Die betreffenden Variablen sind alle als "unsigned long" definiert.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren