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

NullpositivNegativ?

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

Antworten auf die Frage(3)

Ihre Antwort auf die Frage