大家好!
相信大家看了标题就知道了咱这次要讲的是什么了!
对!就是位运算
1. 按位与(与运算):符号 " & " 参与运算的两数对应的二进位相与,只有对应的两个二进位均为1时,结果位才为1 ,否则为0。参与运算的数以补码方式出现
0&0=0 | 0&1=0 | 1&0=0 | 1&1=1 |
2. 按位或(或运算):符号 " | " 参与运算的两数对应的二进位相或,只要对应的二个二进位有一个为1时,结果位就为1。参与运算的两个数均以补码出现
0|0=0 | 0|1=1 | 1|0=1 | 1|1=1 |
3. 按位异或(异或):符号 " ^ " 参与运算的两数各对应的二进位相异或,当两对应的二进位相异 ( 0 和 1 ) 时,结果为1。参与运算数仍以补码出现
0^0=0 | 0^1=1 | 1^0=1 | 1^1=0 |
其他运算符:
1. 取反:符号 " ~ " 把各个二进制数取反
栗子:~9 相当于 ~(0000 1001), 运算结果就是 (1111 0110) |
2. 左移:符号 " << " 把某二进制数向右移若干位(有指定移动的位数,高位丢弃,低位补0)
栗子:a<<4 指把 a 的各二进制向左移动 4 位 :a=0000 1010 (十进制的10) 移动后就是 1010 0000(十进制数 160 ) |
3. 右移:符号 " >> " 把某二进制数向右移若干位(有指定移动的位数)
栗子:a=160, a>>2 表示把 1010 0000 右移两位,变成0010 1000(十进制数 80) |
就这么讲完了
嘿嘿好啦拜拜 (爱心
(๑′ᴗ‵๑)I Lᵒᵛᵉᵧₒᵤ❤