Python中正负数的按位与、按位或、按位异或、按位求反 |
您所在的位置:网站首页 › python中位或位与运算 › Python中正负数的按位与、按位或、按位异或、按位求反 |
中正负数的按位与、按位或、按位异或、按位求反 1 按位与、按位或 按位与:两个均为1时为1 按位或:两个中⼀个为1即为1 负数补码表⽰原码,即符号位不变,其余取反再加1 例如: 7的原码为0000 0111 -7的原码(即补码)为1111 1001 5的原码为0000 0101 -5的原码(即补码)为1111 1011 -6的原码(即补码)为1111 1000 5:0000 0101 7:0000 0111 ————————进⾏ & 运算 0000 0101 为5 得 5&7=5 -6:1111 1000 -7:1111 1001 ————————进⾏ & 运算 1111 1000 是负数 再减1 ————— 1111 0111 符号位不变,其余取反 ———— 1000 1000 为 -8 得 -6 & -7 = -8 注意⼆进制的减法运算 0-1=1 (向⾼位借来的)⼆进制中只有 0 和 1
例如
1111 1100 减 1 1111 1011 倒数第⼆位为 0 0-1=1 是向前⾯借来的
倒数第⼆位为本来 0 被借位
但⾃⼰不够
⼜向倒数第三位借
倒数第三位变为 0 即向前借⼀位,计算到 该位时再减⼀ ************************* 我是⼀条⽆情的分割线 ****************************** -5:1111 1011 7 :0000 0111 ————————进⾏ & 运算 0000 0011 为3 得 -5&7=3 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |