位运算符 |
您所在的位置:网站首页 › python中x=0x10 › 位运算符 |
区分 &,丨,^的运算规则 & (按位与运算符)表示: 两个操作数中位都为1,结果为1 如果两个操作中位一个1另一个0 ,结果为0 即运算规则:0&0=0; 0&1=0; 1&0=0; 1&1=1; 例如:1010 & 1110= 1010 |(按位或运算符)表示: 两个操作中位只有一个为1,结果就等与1 即运算规则:0|0=0; 0|1=1; 1|0=1; 1|1=1 例如: 1010 | 1111 =1111 ^(异或 运算符)表示 两个中位如果相同的数值,结果为 0, 如果两个中位 数值不同,结果为1. 即运行结果:同数值: 0^0=0;1^1=0; 不同数值: 0^1=1; 1^0=1; 例如:1010 ^ 1110 = 0100 (一位一位比较) ~(取反运算符)表示: 参加运算的一个数据,按二进制位进行“取反”运算。 即:对一个二进制数按位取反,即将0变1,1变0 运算规则:~1=0; ~0=1; 例如:使一个数的最低位为零,可以表示为:a&~1 ~1的值为1111111111111110
0x31 (一般看到0x==》16进制数 0x31计算: 先把0x31转换为 10进制的数 0x31(10)=16*3+1=49 再把得到10进制转 2进制 49(2)=110001 所以 0xFF 也是这样计算的 F==>表示15进制 0xFF(10)= 16*15+15=255 255 (2) = 11111111 0x31 & 0xFF 的 计算 因为0xFF得出的结果 8个字节,而位数要相同,那么 0x31就要补0,因为在0x31的二进制为110001已经又6个字节了,那么再前面加两个0即可(这句其实我觉得我说的有点怪怪的) a): 0x31 & 0xFF = 00110001 & 11111111 =00110001 =110001 b): 0x31 | 0xFF = 00110001 | 11111111 =11111111 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |