位运算(与、或、异或、取反) 作者:马育民 • 2023-01-30 15:39 • 阅读:10052 # 解释 假设有以下变量: ``` 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 原文出处:http://malaoshi.top/show_1IX4sDGM8PRy.html