我查看了在this主题中将ByteArray
转换为int
的方法,当我看到这一行时,我感到有些困惑:
ret[2] = (byte) ((a >> 8) & 0xFF);
当我们使用int / float时,>>
运算符与>
运算符的含义相同吗?当它们不相等时,它的含义是什么?
答案 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个高位包含与未移位值相同的值。此运算符从不抛出异常。
虽然>
运算符仅用于比较