java中位运算符解析
一、位运算符种类
java中位运算符主要有:按位与&、按位或|、按位非~、按位异或^。
使用时,都需要将运算数转为二进制进行运算,负数则转为补码。
二、位运算符使用方式
1、按位与&
使用规则:全1则1,否则为0
eg:7 & -5
7的二进制:00000111
-5的二进制:10000101
-5的补码:11111010 + 1 = 11111011
00000111
11111011
= 00000011 = 3
2、按位或|
使用规则:全0则0,否则为1
eg:2 | -6
2的二进制:00000010
-6的二进制:10000110
-6的补码:11111001 + 1 = 11111010
00000010
11111010
= 11111010
计算原码
11111010 - 1 = 11111001
原码:10000110 = -6
3、按位非~
使用规则:遇0则1,遇1则0
eg:~ -6
-6的二进制:10000110
-6的补码:11111010
结果:00000101 = 5
注意:按位非是单目运算符。
4、按位异或^
使用规则:相同为0,否则为1
eg:2 ^ -6
2的二进制:00000010
-6的二进制:10000110
-6的补码:11111010
00000010
11111010
结果:11111000
原码:10001000 = -8
三、位运算的意义
二进制运算符,包括位运算符和移位运算符,使程序员可以在二进制基础上操作数字,可以更有效的进行运算,
并且可以以二进制的形式存储和转换数据,是实现网络协议解析以及加密等算法的基础。
浙公网安备 33010602011771号