Wie werden Daten auf Bit-Ebene gemäß "Endianness" gespeichert?

Ich habe über Endianness gelesen und Squat verstanden ...

so schrieb ich dieses

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 war gleichA5 B9 BF 9F

und (Byte) Zeiger "gehe "o / p war9F BF b9 A5

so ich bekomme es Bytes werden rückwärts gespeichert ... ok.

~

so jetzt dachte ich, wie es auf BIT-Ebene gespeichert ist ...

I bedeutet, dass "9f" (1001 1111) als "f9" (1111 1001) gespeichert ist?

so schrieb ich dieses

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<<" - ";
   }
}

Ich erhalte eine zufällige Ausgabe

even für nos. wie "32" bekomme ich nichts vernünftiges.

Warum

Antworten auf die Frage(10)

Ihre Antwort auf die Frage