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 12wie erwartet.
1<<2 + 1<<3es 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