按位与,按位或,按位异或,按位取反,左移,右移 的计算口诀

  • 1. and(&)运算 (按位与)

and运算通常用于二进制取位操作,例如一个数 and 1的结果就是取二进制的最末位。这可以用来判断一个整数的奇偶,二进制的最末位为0表示该数为偶数,最末位为1表示该数为奇数.
  口诀:两个数字都为1,则为1,其他都为0.
  00111
  11100
  (&或者and)
  ----------------
  00100

  • 2. or(|)运算 (按位或)

or运算通常用于二进制特定位上的无条件赋值,例如一个数or 1的结果就是把二进制最末位强行变成1。如果需要把二进制最末位变成0,对这个数or 1之后再减一就可以了,其实际意义就是把这个数强行变成最接近的偶数。
  口诀:相同位只要有一位1,则最终为1。
  00111
  11100
  (|或者or)
  ----------------
  11111

  • 3. xor(^)运算 (按位异或)

   异或的符号是⊕。

     口诀:相同位不同则为1(例如1,0则为1),相同则为0(例如1,1则为0),

  
  00111
  11100
  (^或者xor)
  ----------------
  11011

  • 4.~取反

就是如果是00111,则变为11000 (按位取反)

~是按位取反的意思.
 

  • 5.>>是右移位运算

右移1位即除以2的1次方;并且取整。
m_Height>>4相当于:
m_Height/16

  • 6.<<是左移位运算

若左移一位,相当于乘以2的一次方。

发布了159 篇原创文章 · 获赞 86 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/qq_40301026/article/details/100829150