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

三、位运算的意义

二进制运算符,包括位运算符和移位运算符,使程序员可以在二进制基础上操作数字,可以更有效的进行运算,
并且可以以二进制的形式存储和转换数据,是实现网络协议解析以及加密等算法的基础。

posted @ 2021-10-27 14:01  没睡好  阅读(286)  评论(0)    收藏  举报