什么<<意思?

时间:2013-10-18 13:31:55

标签: java byte bytearray

我查看了在this主题中将ByteArray转换为int的方法,当我看到这一行时,我感到有些困惑:

ret[2] = (byte) ((a >> 8) & 0xFF);
当我们使用int / float时,>>运算符与>运算符的含义相同吗?当它们不相等时,它的含义是什么?

2 个答案:

答案 0 :(得分:3)

8 >> 2 = 2
8 >> 3 = 1

二进制

00001000 >> 2 = 00000010
00001000 >> 3 = 00000001

1 << 2 = 4
1 << 3 = 8

二进制文件:

00000001 << 2 = 00000100
00000001 << 3 = 00001000

使用〜否定:

byte b = ~01001000

然后 b是10110111

&amp;运算符是一个交叉点

10010101 & 01010011 = 00010001

还有许多其他操作符存在,这是做很多事情的一种非常强大的方法

答案 1 :(得分:-1)

右移>>运算符将左操作数向右移位,符号扩展名为右操作数指定的位数。这意味着n位的值向右移动,导致n个高位包含与未移位值相同的值。此运算符从不抛出异常。

虽然>运算符仅用于比较