您的位置:首页 > 编程语言 > Java开发

Java 中的位移运算

2014-12-02 11:27 351 查看
位移运算符就是在二进制的基础上对数字进行平移。按照平移的方向和填充数字的规则分为三种:<<(左移)、>>(带符号右移)和>>>(无符号右移)。

计算规则如下:

①左移n位相当于乘以2的n次方。

②右移n位相当于除以2的n次方。这里是取商哈,余数就不要了。

③ >>>(无符号右移)

运算规则:

按二进制形式把所有的数字向右移动对应位数,低位移出(舍弃),高位的空位补零。对于正数来说和带符号右移相同,对于负数来说不同。 其他结构和>>相似。

示例

[java] view
plaincopyprint?





long a = 0x3;

long b = 30;

long longLeft = a << b;

System.out.println(longLeft);

System.out.println(0x3 << 30);

System.out.println("-----");

System.out.println(Math.pow(-2, 31));

System.out.println(Integer.MIN_VALUE);

System.out.println("-----");

System.out.println(Math.pow(2, 31) - 1);

System.out.println(Integer.MAX_VALUE);

结果

[plain] view
plaincopyprint?





3221225472

-1073741824

-----

-2.147483648E9

-2147483648

-----

2.147483647E9

2147483647
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: