java中<<,>>和>>>

来源:互联网 发布:python 符号错误 编辑:程序博客网 时间:2024/06/05 23:52

       虽然在平常的开发中很少用到Java的这三个操作符,但是今天遇到了,有必要研究研究。本质上没有什么难的。自己写了几行代码,用作测试,下面直接上代码:

System.out.printf("a = 0x%x \n", a);        int b = a >> 4;        System.out.printf("b = 0x%x \n", b);        int c = a >>> 4;        System.out.printf("c = 0x%x \n", c);        int d = a << 4;        System.out.printf("d = 0x%x \n", d);

然后运行直接得到结果如下:

a = 0x80008000 b = 0xf8000800 c = 0x8000800 d = 0x80000 

这里a = 0x80008000 由整数表示方法知道,该数为一个负数-2147450880,分析输出结果可以知道。

1: >> 运算符用于有符号的右移,又叫做算数右移, 在移动过程中,最高位补符号位。

2:>>>运算符用于无符号的右移,在移动过程中,最高位补0.

3:<< 运算福用户左移,这里没有符号的概念,左移后,最低位补0.

需要注意的是java中不支持<<<运算符。

0 0