位运算(&、|、^、~、>>、<<)
一、位运算概述(1)现代计算机中所有的数据二进制的形式存储在设备中。即 0、1 两种状态,计算机对二进制数据进行的运算(+、-、*、/)都是叫位运算,即将符号位共同参与运算的运算。
(2)相比在代码中直接使用(+、-、*、/)运算符,合理的运用位运算更能显著提高代码在机器上的执行效率。
二、位运算概览
(1)符号 描述 运算规则& 与 两个位都为1时,结果才为1| 或 两个位都为0时,结果才为0^ 异或 两个位相同为0,相异为1~ 取反 0变1,1变0<< 左移 各二进位全部左移若干位,高位丢弃,低位补0
(2)运算规则
x y x&y x|y x^y ^(x)
0 0 0 0 0 1
0 1 0 1 1 1
1 0 0 1 1 0
1 1 1 1 0 0
(3)按位与运算符(&)1.定义:参加运算的两个数据,按二进制位进行"与"运算。
2.注意:负数按补码形式参加按位与运算。
tips:补码:正数的补码就是其原码;负数的反码+1就是