Also habe ich nur ein bisschen Manipulation in C ++ versucht. Folgendes habe ich versucht:
int a = 1<<2;
cout<<a;
Dies ergibt die Ausgabe als 4
.
int a = 1<<3;
cout<<a;
Dies ergibt die Ausgabe als 8
Aber wenn ich es mache:
int a = 1<<2 + 1<<3;
cout<<a;
Es gibt die Ausgabe als 64
. Warum so?
Ich habe auch versucht:
int a = 1<<2;
int b = 1<<3;
cout<<a + b;
Welches gibt die Ausgabe 12
wie erwartet.
1<<2 + 1<<3
es wirklich ist 1<< 2+1 <<3
. Lassen Sie sich nicht von Leerzeichen irreführen.
<<
hat eine niedrigere Priorität als+
,1<<2 + 1<<3
=1<<(2 + 1)<<3