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!