2
我与运营商提供算术移位<<
,>>
迷糊中的Java哪位实际移动<<运算符?
例如,我有这样的二进制数:
0000 0101 // It is actually 5 in dec system
,现在我想2个职位,以这个数字左移。我这样做(这只是换挡位的概念):
0000 0101 << 2
现在我不知道:如果我需要高位2个职位在右侧OR我转移和填充零需要将整数(101
)移位2个位置?
确定吗?因为我正在做一个程序,当我将任何有限整数传递给我的变量时,它计算Int类型(32位)中剩余的位数; – Ernusc
如果你左移高位,它会消失(因为它是最高的,它不能更高)。当最高位变成最低位时,你可能意味着桶转移,但这不是计算机科学中的经典转换操作(更多用于数字电子)。 –
所以如果我有一个数字101,我需要将它移动2个位置,所以我最后的'1'(它实际上是10 [1])向左移动2个位置,结果是:1000? – Ernusc