java - 01001001的算术左移是什么?

标签 java bit-manipulation bit-shift

我会认为它是 00010010 即它试图保持符号位不变

另一方面,逻辑左移 1 位是 10010010

这是正确的吗?

最佳答案

对于左移,算术和逻辑移位是一样的。

不同之处仅在于右移,算术右移会在移位后将旧的 MSB 复制到新的 MSB,从而在移位时防止负数转换为正数。

Wikipedia有更详细的解释。

关于java - 01001001的算术左移是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8810230/

相关文章:

c++ - 将无符号整数中两位设置为一位的最快函数

c - 使用位运算符的效率

c++ - 位 vector 的类似 memcpy() 的函数?

c++ - 在 ObjectPascal 中处理算术右移

java - 如何使用另一个类中的图形对象调用函数?

java - 如何在java中进行用户控制缓存驱逐/垃圾收集?

java - 如何在eclipse中使用插件开发API编辑现有的java源文件?

c - C中的左移运算符

assembly - 使用汇编语言除奇数

java - Gson反序列化json,其中包含可以是字符串或对象的参数