理解 Java 运算符
|
位运算long 为64位整数类型(8个字节),分为高位和低位,前32位(4个字节)是高位,后32位(4个字节)是低位。
a 右移32位,实际上是指,就是获得了 a 的前四位的值。 使用 一个 f 代表4位;两个 f 代表8位,代表一个字节;ffffffff 表示4个字节。 long 类型,一共是8个字节,8个 ff 代表4个字节,那剩余的前四个字节,就是用 用 a 与
将原来的移到地位的数据,在左移32位,到高位,加上原来的低位,就可以得到原始值了。
a1 << 32 等价于 a1*2^32,注意其中的规律,2的2进制是10、4的是100、8的是1000、16的是10000 … 所以左移几位就是把二进制向左移动几位,空位补齐0而已。 以上代码运行结果:
按位与运算运算规则: |= 运算符x |= y 等效于 x = x | y Reference转载请并标注: “本文转载自 linkedkeeper.com (文/张松然)” ©著作权归作者所有 |
