位运算(与、或、异或、取反)

解释

假设有以下变量:

A = 60
B = 13

现在以二进制格式表示,如下:

A = 0011 1100
B = 0000 1101

与 运算

按照二进制位进行运算,只有两个位都是 1 的时候结果才是 1 ,否则是0

java中的运算符:&

A&B = 0000 1100

用途

快速取模算法

或 运算

按照二进制位进行 运算,只要有一个是 1,结果就是 1

java中的运算符:|

A|B = 0011 1101

异或 运算

按照二进制位进行运算,相同的为 0,不相同的为 1

java中的运算符:^

A^B = 0011 0001

取反运算

取反,很简单,就是 如果是 0 就返回 1,如果是 1 就返回 0,是单目运算符

java中的运算符:~

~A  = 1100 0011

参考:
https://blog.csdn.net/w8y56f/article/details/116402868
https://blog.csdn.net/niitlcj/article/details/77595248
https://www.cnblogs.com/thrillerz/p/4530108.html


原文出处:https://malaoshi.top/show_1IX4sDGM8PRy.html