¿Cómo se almacenan los datos a nivel de bit de acuerdo con "Endianness"?
Leí sobre Endianness y entendí las sentadillas ...
así que escribí esto
main()
{
int k = 0xA5B9BF9F;
BYTE *b = (BYTE*)&k; //value at *b is 9f
b++; //value at *b is BF
b++; //value at *b is B9
b++; //value at *b is A5
}
k
era igual aA5 B9 BF 9F
y puntero (byte) "caminar"o / p era9F BF b9 A5
así que entiendo que los bytes se almacenan al revés ... ok.
~
así que ahora pensé cómo se almacena a nivel BIT ...
Quiero decir, ¿está "9f" (1001 1111) almacenado como "f9" (1111 1001)?
así que escribí esto
int _tmain(int argc, _TCHAR* argv[])
{
int k = 0xA5B9BF9F;
void *ptr = &k;
bool temp= TRUE;
cout<<"ready or not here I come \n"<<endl;
for(int i=0;i<32;i++)
{
temp = *( (bool*)ptr + i );
if( temp )
cout<<"1 ";
if( !temp)
cout<<"0 ";
if(i==7||i==15||i==23)
cout<<" - ";
}
}
Me sale algo al azar
incluso para nos. como "32" No entiendo nada sensato.
por qué ?