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