java按位左移

时间:2016-01-29 15:01:47

标签: java bit-manipulation bitwise-operators bit-shift

我理解除按位左移之外的所有按位运算(特别是在Java中)。我已经梳理了“堆栈”并在不同的页面上阅读了许多“解释”,但我仍然不满意。这是一个非常复杂的概念,或者它不是很好理解和模糊。但是,我知道它在某种程度上必须是相关的,因为我已经看到Java算法(今天)确实使用左移运算符“<<”。所以,如果有人能用简单的英语打破这一点,那就太好了!

1 个答案:

答案 0 :(得分:0)

左移一位将值中的所有位向左移动一位位置。在右侧自由的位置用第0位填充,最左边的位丢失。

这与将值乘以2的效果相同。

示例(为简单起见,仅使用8位):

original value     10010011
after shift left   00100110

如果向左移位n位,则重复n次(假设n小于字长)。对于n大于字长移动n%wordLength。