唉好难啊,上学没学明白,后续工作也没有仔细看过,今天又碰到了,那就搞一搞吧
以下表格内容来自菜鸟教程菜鸟教程
操作符 | 描述 |
---|---|
& | 如果相对应位都是1,则结果为1,否则为0 |
| | 如果对应位都是0,则结果为0,否则为1 |
^ | 如果对应位值相同,则结果为0,否则为1 |
~ | 按位取反运算符翻转操作数的每一位,即0变为1,1变为0 |
<< | 按位左移运算符。左操作数按位左移右操作数指定的位数。 |
>> | 按位右移运算符。左操作数按位右移右操作数指定的位数。 |
>>> | 按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充。 |
说实话,还是菜B,前四个操作符 & | ^ ~,看看也就差不多明白了,后边的移位操作符,我吐了好嘛……
直到看到这篇文章【一看就懂】移位运算符讲解,终于遇见了——桃花源。同cue一下小破站的讲解视频移位运算符
这里算是加深印象自己也搞一遍,个人笔记正式开始
-
操作符-按位与(&)
如果相对应位都是1,则结果为1,否则为0
例如:
A = 0011 1100
B = 0000 1101
A&B结果C:
C = 0000 1100 -
操作符-按位或(|)
如果相对应位都是 0,则结果为 0,否则为 1
例如:
A = 0011 1100
B = 0000 1101
A|B结果C:
C = 0011 1101 -
操作符-按位异或(^)
如果相对应位值相同,则结果为0,否则为1
例如:
A = 0011 1100
B = 0000 1101
A^B结果C:
C = 0011 0001 -
操作符-~
按位取反运算符翻转操作数的每一位,即0变成1,1变成0。
例如:
A = 0011 1100
那么~A的结果C:
C = 1100 0011 -
操作符- 左移运算符(<<)