运算符 结晶
b:c)能够作为逻辑运算符的载体
1 | 0 | 1 | 0 | 1 | 0 | 0 | 1 |
第七位 | 第六位 | 第五位 | 第四位 | 第三位 | 第二位 | 第一位 | 第零位 |
參加运算的两个数据,按二进制位进行“与”运算
运算规则: 0&0=0; 0&1=0; 1&1=1;
即:两位同一时候为“1”,结果才为“1”,否则为0
与运算 用途:
(1) 清零 假设想将一个单元清零,仅仅要与一个各位都为零的数值相与,结果为零
(2) 取一个数中指定位
方法:找一个数,相应X要取的位,该数的相应位为1;其余位为零,此数与X相与就可以
例:设X=10101110,
位或运算符 (|)
參加运算的两个对象,按二进制位进行“或”运算
运算规则: 0|0=0; 0|1=1; 1|1=1;
即: 參加运算的两个对象仅仅要有一个为1,其值为1
或运算作用:
(1)经常使用来对一个数据的某些位置1
方法:找到一个数,相应X要置1的位,该数的相应位为1,其余位为零.此数与X相或就可以
异或运算符 (^)
參加运算的两个数据,按二进制位进行“异或”运算
运算规则: 0^0=0; 0^1=1; 1^0=1; 1^1=0
即:參加运算的两个对象,假设两个对应位为“异”(值不同),则该位结果为1,否则为0
异或运算作用:
(1) 使特定位翻转 找一个数,相应X要翻转的各位,该数的相应位为1,其余位为零,此数与X相应位异或就可以
例: X=10101110,使X低4位翻转,用X ^ 0000 1111 = 1010 0001就可以
取反运算符 (~)
參加运算的一个数据,按二进制位进行“取反”运算
运算规则: ~1=0; ~0=1;
即:对一个二进制数按位取反,将0变1,1变0
左移运算符 (<<)
将一个运算对象的各二进制位所有左移n位 (高位丢弃,低位补0)
例: a = a << 2 将a的二进制位左移2位,低位补00
左移2位后相当于a = a * 2 *2;
右移运算符 (>>)
将一个数的各二进制位所有右移n位,正数高位补0,负数低位补1,右边丢弃
操作数每右移一位,相当于该数除以2