Es scheint, als ob ich Bitverschiebung in C/C++ um mehr als 32 Bits durchführen könnte, vorausgesetzt, der linke Operand der Schicht ist lang. Aber das scheint zumindest beim g ++ Compiler nicht zu funktionieren.Wie verschiebe ich Bit um mehr als 32 Bit?
Beispiel:
unsigned long A = (1L << 37)
gibt
A = 0
, die nicht das, was ich will. Fehle ich etwas oder ist das einfach nicht möglich?
-J
Long ist 32 Bits auf den meisten Architekturen .... –
Verwenden 'LL' statt nur' L' –