为什么当我尝试移位11010100 2的位时,结果是110101000 2,而不是10101000 2。
int a = Integer.parseInt("11010100", 2) << 1;
我尝试这样做:
int a = (byte)(Integer.parseInt("11010100", 2) << 1);
但是,如果输出值大于128,则一切都变为负数,这是合乎逻辑的。如何使位数不变?
您使用的整数是32位长。为什么会期望结果被截断为8位?
—
jhamon
字节a = ...将对其进行修复。
—
Perdi Estaquel
int
s或long
s上完成。