Manera estándar (multiplataforma) para la manipulación de bits

Como son diferentes representaciones binarias de los números (por ejemplo, tome big / little endian), es esta multiplataforma:

// 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 ) );

En otras palabras, ¿el compilador siempre se ocupa de las diferentes representaciones binarias detamaño fijo ¿Números sin firmar, o es específico de la plataforma?

Y que sivariable se firma tipo integral (por ejemplo,int) y su valor es

ceropositivo¿negativo?

Lo que hace elEstándar decir sobre esto?

PD Y,, Estoy interesado en ambos -C yC++, por favor no me digas que son idiomas diferentes, porque yo sé esto :)

Puedo pegar un ejemplo real, si es necesario, pero la publicación será demasiado larga

Respuestas a la pregunta(3)

Su respuesta a la pregunta