为什么当我尝试为 11010100 2移位时,结果是 110101000 2,而不是 10101000 2。
int a = Integer.parseInt("11010100", 2) << 1;
Run Code Online (Sandbox Code Playgroud)
我尝试这样做:
int a = (byte)(Integer.parseInt("11010100", 2) << 1);
Run Code Online (Sandbox Code Playgroud)
但如果输出值大于 128,则一切都变为负,这是合乎逻辑的。我怎样才能使位数不变?