小编Yar*_*lav的帖子

为什么 11010100 << 1 等于 110101000,而不是 10101000?

为什么当我尝试为 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,则一切都变为负,这是合乎逻辑的。我怎样才能使位数不变?

java bit-shift

41
推荐指数
3
解决办法
5035
查看次数

标签 统计

bit-shift ×1

java ×1