基础位运算

四个基本位运算

  • ~: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}\)

左移是升幂,右移则是降幂

posted @ 2021-12-31 11:57  可乐社区  阅读(76)  评论(0)    收藏  举报