python 位运算
与运算 AND &
除了11为1 外,其他都为0
计算方式为两个数相乘
与运算可以作为一种掩码运算,原值遇1为原值,原值遇0为0
原值 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
AND | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 |
结果 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 |
或运算 OR |
除了00为0外,其他都为1
计算方式为两个数相加,结果大于1就返回1
或运算也可以作为一种掩码运算,原值遇0为原值,原值遇1为1
原值 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
OR | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 |
结果 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 |
异或运算 XOR ^
两值相同为0 两值不同为1
计算方式为两个数相加,放弃进位的数字
原值 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
XOR | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 |
结果 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 1 |
非运算 NOT ~
所有位都取反,不限于最后一位,不限于ture false判断
原值 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
NOT | ||||||||
结果 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
评论已关闭