java移位的运算规则是什么

avatar
作者
猴君
阅读量:2

Java中移位运算有三种:左移运算(<<)、右移运算(>>)和无符号右移运算(>>>)。

  1. 左移运算(<<):将一个数的各二进制位全部左移若干位,高位丢弃,低位补0。左移n位,相当于乘以2的n次方。例如:3 << 2 = 12,即3左移2位等于12。

  2. 右移运算(>>):将一个数的各二进制位全部右移若干位,低位丢弃,高位补上符号位。右移n位,相当于除以2的n次方取整。例如:12 >> 2 = 3,即12右移2位等于3。

  3. 无符号右移运算(>>>):将一个数的各二进制位全部右移若干位,低位丢弃,高位补0。无符号右移n位,相当于除以2的n次方取整。例如:-3 >>> 1 = 2147483646,即-3无符号右移1位等于2147483646。

需要注意的是,移位运算只能应用于整型数据(byte、short、int、long)的二进制表示,对于浮点数和其他数据类型不适用。另外,移位运算不会改变原始数值本身,而是返回一个新的移位后的数值。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!