C++ binäre Zahlen?
-
hallo, ist vielleicht ne triviale Frage, aber wie mache ich ne binäre Zahl?
Insbesondere frage ich mich, wie ich die binäre Zahl stellenweise setzen und auslesen kann :S
Ich finde irgendwie keine Referenz.
Ich könnte das zwar als Array machen, aber würde es gerne vermeiden.
danke im voraus
-
Key schrieb:
hallo, ist vielleicht ne triviale Frage, aber wie mache ich ne binäre Zahl?
Jede Zahl wird im Prozessor und im RAM und sogar auf der Festplatte binär gespeichert.
Key schrieb:
Insbesondere frage ich mich, wie ich die binäre Zahl stellenweise setzen und auslesen kann :S
Zum Beispiel so:
int zahl = 23; zahl |= 256; // 256 (dezimal) = 00000000 00000000 00000001 00000000 (binär); das 1er-Bit wird gesetzt
Moritz
/Edit: Schreibfehler beseitigt
-
ich versteh die frage zwar nicht 100%ig, aber hast du dir schonmal std::bitset angeschaut?
http://www.cppreference.com/cppbitset/
-
danke danke !
ja, das Bitset hab ich mir angeschaut, aber nicht gerafft
hmm, was ich eigentlich gerne machen würde ist z.B.
Eine binäre Zahl stellenweise erzeugen:
int stelle1=1;
int stelle2=0;
int stelle3=1;
und jetzt "quasi"
(datentyp binär?) digital = stelle3,stelle2,stelle´1;digtital wäre dann 101
-
key schrieb:
Eine binäre Zahl stellenweise erzeugen:
sowas?
... #define BIT(_x_) (1<<(_x_)) ... int x = BIT(7)+BIT(0); // 2^7 + 2^0 ...
-
net schrieb:
key schrieb:
Eine binäre Zahl stellenweise erzeugen:
sowas?
... #define BIT(_x_) (1<<(_x_)) ... int x = BIT(7)+BIT(0); // 2^7 + 2^0 ...
Gewöhn dir besser gleich den |-Operator an, sonst kommt Unsinn heraus, wenn das Bit schon gesetzt ist.
#define BIT(_x_) (1<<(_x_)) ... int x = BIT (7) | BIT (0); // 2^7 | 2^0 x |= BIT (7); // hier wäre x sonst Mist
Moritz
-
audacia schrieb:
Gewöhn dir besser gleich den |-Operator an...
besser ist das
-
super, danke!