java按位左移位

java按位左移位,java,bit-manipulation,bitwise-operators,bit-shift,Java,Bit Manipulation,Bitwise Operators,Bit Shift,我特别了解Java中的所有按位操作,但按位左移位除外。我已经梳理了书堆,在不同的页面上阅读了许多解释,但我仍然不满意。这要么是一个极其复杂的概念,要么是没有得到很好的理解和理解。但是,我知道这一定在某种程度上是相关的,因为我今天看到的Java算法确实使用了左移位操作符左移位一位将值一位位置中的所有位向左移动。右侧的空闲位置被位0填充,最左侧的位丢失 这与将该值乘以2的效果相同 为简单起见,仅使用8位的示例: original value 10010011 after shift left

我特别了解Java中的所有按位操作,但按位左移位除外。我已经梳理了书堆,在不同的页面上阅读了许多解释,但我仍然不满意。这要么是一个极其复杂的概念,要么是没有得到很好的理解和理解。但是,我知道这一定在某种程度上是相关的,因为我今天看到的Java算法确实使用了左移位操作符左移位一位将值一位位置中的所有位向左移动。右侧的空闲位置被位0填充,最左侧的位丢失

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

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

original value     10010011
after shift left   00100110

如果向左移位n位,只要重复n次,前提是n小于字长。因为n比单词长度偏移量大n%wordLength。

你能理解两种右移,但不能理解左移?@khelwood即使我能猜出你的意思,如果你第一次不说代码就说出你的感受,生活会更好……我没有任何暗示。我对您的断言感到困惑,您理解所有其他按位操作,逻辑上必须包括右移位,但您对左移位的理解还不够,甚至无法提出关于它的特定问题。“我想验证一下你们是否理解右移,因为那个些知识会让你们更容易解释左移。”Mishax Aaaa和Bob是我叔叔。谢谢你的链接。这消除了我所有不愉快的困惑:我不知道为什么我自己找不到它,但我很感谢那篇优秀的文章。谢谢残酷的否决票!令人捧腹的我希望每一天都有一个美好的一天:难道没有比这更重要的事情吗?是否有某些条件下,数字的值可能会变得未定义,等等?我认为我可能已经过度考虑了这一点。哦,好吧!谢谢你,亨利。这肯定是重复的,但我选择你的回答作为正确答案。