Backto C/C++ Index
顾名思义,按位运算符允许按照位来操作整型变量。可以把按位运算符应用于任意signed和unsigned整型,包括char类型。它们通常应用于不带符号的整型。
符号 | 描述 | 运算规则 |
---|---|---|
~ | 取反 | 唯一的单目运算符,~0= 1, ~1 = 0 |
& | 与 | 0 & 0 = 0, 0 & 1 = 0, 1 & 0 = 0, 1 & 1 = 1 |
| | 或 | 0 | 0 = 0, 0 | 1 = 1, 1 | 0 = 1, 1 | 1 = 1 |
^ | 异或 | 0^0 = 0, 1^1 =0; 1^0 = 1, 0^1 = 1 |
<< | left-shift, 左移 | 各二进位全部左移若干位,高位丢弃,低位补0 |
>> | right-shift,右移 | 各二进位全部右移若干位,对无符号数,高位补0,有符号数,各编译器处理方法不一样,有的补符号位(算术右移),有的补0(逻辑右移) |
Ref
- c++按位操作符 : 基础讲解的很到位了
- C++:位操作基础篇之位操作全面总结: 嗯,很多大厂的面试真题,总结的很棒。
- 位操作实现加减乘除四则运算 :
- 原码, 反码, 补码 详解 : 可以说,讲解的很完美了。
- C++ 中的位操作 : 总结了几个很有常用的位操作