位运算符之—左移右移运算符(简单易懂)
位运算就是二进制1110000111左移和右移
左移就是向左移动一位后面加个0,即11100001110
右移就是向右移动一位,最右边一位删除,即1110000111.
位运算符之—按位与运算符(简单易懂)
本篇讲 按位与& 运算符
按位与运算符“&”是双目运算符。
其功能是参与运算的两数各对应的二进位相与。
只有对应的两个二进位都为1时,结果位才为1。
千万不要与 && 混淆
1
2
3
4
首先把数转换为2进制
比如:
10 二进制为:1010
11 二进制为:1011
1010
1011
1 0 1 0
注意:有对应的两个二进位都为1时,结果位才为1
结果 1010 还是10
10 & 11 等于 10
位运算符之—按位或运算符(简单易懂)
本篇讲 按位或| 运算符
按位或运算符“|”是双目运算符。
其功能是参与运算的两数各对应的二进位相或。
只要对应的二个二进位有一个为1时,结果位就为1
1
2
3
首先把数转换为2进制
比如:
10 二进制为:1010
11 二进制为:1011
1 0 1 0
1 0 1 1
1 0 1 1
1
2
3
4
只要对应的二个二进位有一个为1时,结果位就为1
位运算符之—按位异或运算符(简单易懂)
本篇讲 按位异或^ 运算符
当前位的两个二进制表示不同则为1相同则为0
1
首先把数转换为2进制
比如:
10 二进制为:1010
11 二进制为:1011
1 0 1 0
1 0 1 1
0 0 0 1
1
2
3
4
注意:当前位的两个二进制表示不同则为1相同则为0
结果 0001 是1
10 & 11 等于 1
位运算符之—按位取反运算符(简单易懂)
本篇讲 按位取反 ~ 运算符
因为涉及到 补码 原码 符号,感觉挺复杂的,涉及的知识比较多
总结为一句:
对所有整数取反=本身的相反数-1
~9 = -10
~10 = -11