java基础-------永远分不清的位运算符 与(&)、非(~)、或(|)、异或(^)

来源:互联网 发布:dota地精工程师知乎 编辑:程序博客网 时间:2024/06/06 18:58

  基础真的是我的硬伤啊,特此记录一下,以免自己有弄混了运算符 与(&)、非(~)、或(|)、异或(^)。

1. & (与):双目运算符,运算时均把运算数转换为二进制再做比较,规则:当相同的位上均为1时结果为1,否则结 果为0.

例:7 & 10 = 2   过程首先将十进制7和10转换为二进制 0000 0111  & 0000 1010 根据规则的出结果为 0000 0010 即十进制数 2.


2.  | (或):规则:当两边操作数的位有一边为1时,结果为1,否则为0。

例: 7 | 10 = 15 依然先转换成二进制 0000 0111 | 00001010 的出结果为 0000 1111 即十进制数 15.

3.  ~(非):规则:对目标数取反 即0变1,1变0。

例: ~ 15 = 240 (不带符号头位表示数字)/ -112 (带符号头位表示正负)  二进制 ~ 0000 1111 结果为 1111 0000 十进制即为 240 或者 -112

4. ^(异或):规则:两边的位不同时,结果为1,否则为0.例1100^1010=0110

0 0
原创粉丝点击