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
Lo que hace elEstándar decir sobre esto?
PD Y,sí, 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