Shift-Operator
-
Ich habe gelesen, dass der Shift-Operator (also >> oder << ) eine Zahl (bzw die Binär-Darstellung einer Zahl) um x Bits verschiebt. Ich hab ein bischen rumprobiert, aber nix scheint zu funktionieren:
#include <iostream> int main() { int i = 10; 1101 >> i; std::cout <<"i is "<<i<<"."<<std::endl; return 0; }
Druckt immer nur "i is 10".
Danke schonmal,
styler.
-
Ich habe gelesen, dass der Plus-Operator (also +) eine Zahl (bzw die Binär-Darstellung einer Zahl) um x Bits erhöht. Ich hab ein bischen rumprobiert, aber nix scheint zu funktionieren:
#include <iostream> int main() { int i = 10; 1101 + i; std::cout <<"i is "<<i<<"."<<std::endl; return 0; }
Druckt immer nur "i is 10".
Merkst was?
Versuchs mal so:
int i = 10; std::cout << "10 verschoben um 3 nach links ist: " << (i << 3) << std::endl;
Binärdarstellung von 10 ist 1010, um 3 nach links verschoben also 1010000, macht nach Adam Riese im Dezimalsystem 80 (64 + 16).
-
Hi,
du shiftest 'i' ja gar nicht. Es muss schon
i <<= 1; //oder i <<= 2; //oder i >>= 1;
heissen. Du aber shiftest die Zahl '1101' um i Stellen nach rechts, aber das
Ergebnis wird keiner Variablen zugeordnet. Hmmm...solltest eigentlich ne
Fehlermeldung bekommen, dass dieser Code nichts bewirkt;mfg
v R
-
Och mann, was biste immer so schnell Bashar, zuegel dich doch ma en bissle
mfg
v R
-
Original erstellt von virtuell Realisticer:
**Hmmm...solltest eigentlich ne
Fehlermeldung bekommen, dass dieser Code nichts bewirkt;
**höchsten eine WARNUNG
Denn Fehler ist es ja keiner!
-
Okay, ich bin echt nen Trottel.
Thx, styler.
-
höchsten eine WARNUNG
Denn Fehler ist es ja keiner!Oh, sorry hab ich eigentlich gemeint.
mfg
v R
-
Original erstellt von Bashar:
Ich habe gelesen, dass der Plus-Operator (also +) eine Zahl (bzw die Binär-Darstellung einer Zahl) um x Bits erhöht.Ja? Wo hast du das denn gelesen?
:p[ Dieser Beitrag wurde am 24.04.2003 um 20:51 Uhr von MaSTaH editiert. ]