Python中正负数的按位与、按位或、按位异或、按位求反

您所在的位置:网站首页 python中位或位与运算 Python中正负数的按位与、按位或、按位异或、按位求反

Python中正负数的按位与、按位或、按位异或、按位求反

2023-03-19 21:06| 来源: 网络整理| 查看: 265

中正负数的按位与、按位或、按位异或、按位求反

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 

是向前⾯借来的

 

倒数第⼆位为本来

被借位

 

但⾃⼰不够

 

⼜向倒数第三位借

  

倒数第三位变为

即向前借⼀位,计算到

该位时再减⼀

************************* 我是⼀条⽆情的分割线 ******************************

-5:1111 1011

7 :0000 0111

————————进⾏ & 运算

0000 0011 为3

得 -5&7=3



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3