Variable einen binärcodierten Wert zuweisen
-
Hallo,
kann ich in C einer Variable einen binärcodierten Wert zuweisen?Also zum Beispiel:
int value = 01011101b;
Geht sowas in der Art oder muß ich die Daten erst doch umrechnen, z.B in Hex?
Danke
-
Warum will man das machen? Reichen hex/oktal und dezimal als Darstellung nicht? Zu deiner Frage: Nein, es geht nicht ohne weiteres.
-
Ok, schade. Ich achte, ich hätte mal sowas gesehen.
Warum man sowas machen will?
Ich habe in mehreren Registern bestimmte Bits zu setzen und dazu wäre sowas ganz übersichtlich, bzw. würde mir die Umrechnung der Daten ersparen.
Danke für die schnellee Antwort.
-
Lu76 schrieb:
würde mir die Umrechnung der Daten ersparen.
Binär in Hex und zurück sollte man im Kopf umrechnen können. So schwierig ist das nicht.
-
Leider wurde das beim Sprachdesign vergessen oder weggelassen.
Die Notation dafuer (wenn es das Feature gaebe) waere "0b1010101" bzw. "0B1010101".
I.d.R. kann man sich das sparen, weil Hexadezimal-Notation oder Oktal-Notation genommen werden kann.
Hex-Tabelle: Oktal-Tabelle: 0000 0 000 0 0001 1 001 1 0010 2 010 2 0011 3 011 3 0100 4 100 4 0101 5 101 5 0110 6 110 6 0111 7 111 7 1000 8 1001 9 1010 A 1011 B 1100 C 1101 D 1110 E 1111 F
Dein Beispiel waere in Oktal:
int a = 0135; // 001 011 101 = 1 3 5
in Hexadezimal:
int a = 0x5d; // 0101 1101 = 5 D
-
Ok, schon klar. Wäre hält "nice to have" gewesen.
Binär in Hex und zurück sollte man im Kopf umrechnen können. So schwierig ist das nicht.
Ja kann man zwar. Da es sich um 16 Bit-Werte handelt, würde dies doch ein wenig zeitraubend werden.
Aber es gibt ja noch den Rechner:)
-
ist doch egal, wie breit die sind. alle 4 bit gibts ein neues hexzeichen.
1010 0011 1001 0100 A 3 9 4
kommen die bitstrings eben in kommentare und drunter die hexrepraesentation.
-
stimmt hexwerte sollte man schon im kopf errechnen koennen! da bei bitshifts XOR OR NOT AND NOR NAND(letzteres muss man sich in c selber gestalten) sollte man doch in binaerform zuerst durchspielen und dann erst in die anderen zahlenformate umwandeln! so ist es zumindest bei mir so!