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)