位操作符的介绍和应用
位操作符的介绍和应用
Sarzn位操作符有哪些?
在 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|



