基础位运算
四个基本位运算
- ~:NOT,求反
- &:AND,都为1结果为1,否则为0
- |:OR,有一个为1结果为1,都为0才为0
- &:异或,两者不同为1,相同为0
![]()
注意,逻辑运算 \(\neq\) 位运算
C语言为例,逻辑运算指&&、||、!这些
三(四)种移位运算
最高位为左侧,大端,最低位为右侧,小端
- 逻辑(算术)左移,所有位向左移动,丢弃最高位,最低位用0补齐。\(01101101_2\)左移三位,结果为\(01101000_2\)。
- 逻辑右移,类似左移,所有位向右移动,丢弃最低位,最高位用0补齐。\(01101101_2\)逻辑右移三位,结果为\(00001101_2\)。
- 算术右移,所有位向右移动,丢弃最低位,最高位用初始最低位补齐。\(01101101_2\)算术右移三位,结果为\(11101101_2\)。
左移与右移可以很好的去代替一些复杂运算,例如\(2^2\)就可以用\(00000010_2\)左移1位实现。\(00000010_2\)左移1位结果为\(00000100_2\)左移1位,转换为十进制就是\(4_{10}\)
左移是升幂,右移则是降幂

浙公网安备 33010602011771号