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. ]


Anmelden zum Antworten