c++中的位运算符号

来源:百度知道 编辑:UC知道 时间:2024/06/22 07:35:59
and or xor等等把其他的也列出来
然后说一下先后级

一、位运算符C语言提供了六种位运算符:

& 按位与
| 按位或
^ 按位异或
~ 取反
<< 左移
>> 右移
用法:
1.按位与运算符 &
按位与运算符是双目运算符,其功能是将参与运算的两操作数各自对应的二进制为进行于操作。只有对应的两个二进制位均为1 是,结果对应的二进制位才为 1,否则为0.例如:表达式“21&18”的计算结果是16(即二进制数10000),因为:
21用二进制表示就是:0000 0000 0000 0000 0000 0000 0001 0101
18用二进制表示就是:0000 0000 0000 0000 0000 0000 0001 0010
按位与所得结果是: 0000 0000 0000 0000 0000 0000 0001 0000(21和18左起第五位都是1,对应出结果 1)
与上述方法类似可得出 | 和^ 的结论,即:
2.按位或运算符“|”是双目运算符。其功能是将参与运算的两操作数各自对应的二进制位进行或操作。只有对应的两个二进制都是0 是,结果对应的二进制位才是0,否则为1.例如表达式“21|18”的值是23(即二进制数10111)。
3.按位异或运算符“^”是双目运算符。其功能是将参与运算的两操作数各自对应的二进制为进行异或操作。只有对应的两个二进制位不相同是,结果对应的二进制唯才是1,否则为0.例如表达式“21^18”的值是7(即二进制数111).
4.按位非运算符~是单目运算符。其功能是将操作数中的二进制位0变成1,1变成0.例如,表达式“~21”的值是无符号整型数0xffffffea(十六进制)。
5. 左移运算 左移运算符“<<”是双目运算符。其功能把“<< ”左边的运算数的各二进位全部左移若干位,由“<<”右边的数指定移动的位数,
高位丢弃,低位补0。例如: a<<4 指把a的各二进位向左移动4位。如a=00000011(十进制3),左移4位后为00110000(十进制48)。
6. 右移运算右移运算符“>>”是双目运算