Ausgabe



  • Hallo,

    kann mir jemand kurz erklären, warum bei folgendem Code:

    int b= 29;
    
    b>>2%5;
    

    die Ausgabe 7 ist?

    > bedeutet doch rechtsseitige Verschiebung und % ist die Modulooperation oder?

    Gruß Lars



  • ...
    b>>2%5;
    

    mein_compiler schrieb:

    warning: statement with no effect



  • int main()
    {
    	int b = 29;
    	int a = b>>1;  //ergibt 14 ((29:2=14 (rest 1)
    	int c = b>>2;  //ergibt  7 (((29:2):2=7) (rest 1))
    	int d = b>>3;  //ergint  3 ((((29:2):2):2=3 (rest 1))
    	int e = b>>4;  //ergibt  1 (((((29:2):2):2):2=1 (resr 1))
    	cout << a << ", " << c << ", " << d << ", " << e << endl;
    }
    

    // edit
    dein modular kannst du dir sparen (was soll schon 2%5 ergeben? auch 2)


Anmelden zum Antworten