位运算分为位逻辑运算与移位运算(对应二进制位):
注:在逻辑运算中,数学表示符于编程逻辑的对应关系为:
∧表示与
∨表示或
¬表示非
含义 | C++语言表示 | 规则 |
与运算 | a&b | 都为1时为1,反之为0。 |
或运算 | a|b | 两个数其中一个为1就为1,反之为0。 |
异或运算 | a^b | 两个数不同时结果为1,反之为0。 |
取反运算 | ~a | 对数值进行取反。 |
左移运算 | a<<b | 左移b位乘以2的b次幂。(二进制数向左移动b位,高位丢弃,在后面添b个0) |
右移运算(带符号运算) | a>>b | 右移b位除以2的b次幂(取整);(二进制数右移b位,去掉末b位);对于有符号的,在右移时,符号位随之移动;为正数时,最高位补0;为负数时,符号位为1,最高位时补0或是1取决于编译系统。 |