Hex in Binär umwandlen



  • Hallo,

    wie kann man eigentlich die einzelnen Bits einer Hexadezimalzahl speichern?

    Wenn man z.B. eine Hex-Zahl von 0x80 = 1000 0000 hat - (diese Binärdarstellung möchte ich jetzt gern in einem Array binarArray[] speichern, so dass

    binarArray[0] = 1;
    binarArray[1] = 0;
    binarArray[2] = 0;
    binarArray[3] = 0;

    binarArray[4] = 0;
    binarArray[5] = 0;
    binarArray[6] = 0;
    binarArray[7] = 0;

    gilt: muss ich mit hilfe von 8 masken arbeiten (0x80 & 0x80) = binarArray[0] oder geht das auch einfacher / schneller?

    gruß
    Tim



  • nicht das ich wüsste, das einzigste um vielleicht codezeilen zu sparen wäre, dies in einer schleife durchzuführen, und die maske bei jedem schleifendurchlauf zu shiften.



  • #include <stdio.h>
    
    int main(void)
    {
    	int x = 0x80;
    	int mask = 0x80;
    
    	while(mask) 
    	{
    		printf("%d ", mask & x ? 1 : 0);
    		mask = mask >> 1;
    	}
    	printf("\n");
    
    return 0;
    }
    

    Jetzt musst du die Werte noch in einem Array ablegen!


Anmelden zum Antworten