Python之原码、补码、位运算、异或、同或

本文介绍了Python中的位运算,包括异或与同或的概念,如异或相异得1、相同得0,同或相同得1、相异得0,并通过实例演示了操作过程。同时,详细阐述了原码、反码和补码的概念,特别是负数的表示,以及在计算机中如何使用补码。还提到了负数补码的特性:负数的补码是其原码。最后讨论了按位取反的操作,举例说明了~12的结果为-8。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

异或与同或

异或,相异除1,相同除0
同或,相同除1,相异除0
例如:10 ^ 9

10 ^9
1010
1001
0011

等于3
例如:10 ^ -9

10 ^ -9
0000 1010
1000 1001
1000 0011

等于-3

原码、反码、补码

0000 0001 +1 原码=反码=补码
1000 0000 -1 原码
1111 1110 -1 反码 (符号位不动,逐位取反)
1111 1111 -1 补码 (符号位不动,逐位取反再加1)
在计算机中放的都是补码
例如:
5 - 1 = 5 + (-1)

000001015
11111111-1
1 000001004

1是溢出位删掉 =>4

负数,补码的补码就是原码

按位取反

~12,按位取反

00001100
11110011
补码的补码是原码符号位不变,按位取反再加1
10001100

所以,-8

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值