位操作符的介绍和应用

位操作符有哪些?

在 c/c++ 中位操作符有一下几种 1. & 代表 按位与 2. | 代表 按位或 3. ^ 代表 按位异或 4. ~ 代表 按位取反 5. << 是 左移操作符 6. >> 是 右移操作符


那么什么叫做按位与呢?

按位与,可以拆分成 按位 这两个关键字

  • 按位 在计算机中数字(包括 int, char 类型)是以补码的的形式以二进制储存的,这里的位指的就是二进制的位 比如 > 5 的二进制表示为 00000000 00000000 00000000 00000101 > 那么其中的 1 就是
  • 异或 都是一种计算的操作,下面会详细讲解

& 表示 按位与

两位都是 1 才为 1,一位是 0 才为 0

操作
1 0 1 0
& 0 1 1 0
—–
0 0 1 0

| 代表 按位或

一位是 1 就是 1,两位是 0 才为 0 > |操作|位|位|位|位| > |—-|–|–|—|–| > | |1|0|1|0| > |||0|1|1|0| > |—–|—|—|—|—| > | |1|1|1|0|

^ 代表 按位异或

两位相同是 0,两位相异是 1 > |操作|位|位|位|位| > |—-|–|–|—|–| > | |1|0|1|0| > |^|0|1|1|0| > |—–|—|—|—|—| > | |1|1|0|0|

~ 代表 按位取反

0 是 1,1 是 0 > |操作|位|位|位|位| > |—-|–|–|—|–| > | |1|0|1|0| > |~||||| > |—–|—|—|—|—| > | |0|1|0|1|

<< 是 左移操作符

二进制位向左移动,右边补 0 ,左边删去 > |操作|删|位|位|位|位|删| > |—-|–|–|—|–|-|-| > | | |1 |0 |1 | 0| > |<< |1 |0 |1 | 0| 0| > |—–|—|—|—|—|—|—| > |得到 |: |0|1|0|0|

>> 是 右移操作符

二进制位向右移动,左边补 符号位 ,右边删去 > |操作|删|位|位|位|位|删| > |—-|–|–|—|–|-|-| > | | |1 |0 |1 | 0| > |>> | |1 |1 |0 |1 | 0| > |—–|—|—|—|—|—|—| > |得到 |: |1|1|0|1|