Standard (plattformübergreifender) Weg zur Bit-Manipulation
So wie es unterschiedliche binäre Darstellungen der Zahlen gibt (zum Beispiel Big / Little Endian nehmen), so ist dies plattformübergreifend:
// NOTE: FIXED-SIZE unsigned integral type
some_unsigned_type variable = some_number;
// set n-th bit, starting from 1,
// right-to-left (least significant-to most significant)
variable |= ( 1 << ( n - 1 ) );
// clear the same bit:
variable &= ~( 1 << ( n - 1 ) );
Mit anderen Worten, kümmert sich der Compiler immer um die unterschiedliche Binärdarstellung derfeste Größe Zahlen ohne Vorzeichen oder plattformspezifisch?
Und was wäre wennvariable
ist ein vorzeichenbehafteter integraler Typ (z. B.int
) und sein Wert ist
Was macht dieStandard dazu sagen?
P.S. Und,JaIch interessiere mich für beides -C
undC++
, bitte sag mir nicht, dass sie verschiedene Sprachen sind, weil ich das kenne :)
Ich kann bei Bedarf ein Beispiel einfügen, aber der Beitrag wird zu lang