C++移位运算符<<不循环.例如,如果你这样做:
// C++
int a = 1;
cout << (a<<38);
Run Code Online (Sandbox Code Playgroud)
你得到0.但是,在Java中你实际上是循环并获得64的有效值.
我需要将一些C++代码翻译成Java,那么我使用什么作为等价物<<呢?
<<当移位位的值大于数据类型的总位数时,移位运算符如何工作?
例如,
int i = 2;
int j = i<<34;
System.out.println(j);
Run Code Online (Sandbox Code Playgroud)
整数的大小是32位,但是我们正在移位34位.这是如何运作的?