python中的按位取反运算

python中的按位取反运算,第1张

按位取反运算符:~

运算结果:~x=-(x+1)

例如羡悔袭:~9为-10

~(-9)为8

这不是按位取反吗?怎么结果是这样?

看下面前猛。

转二进制:兄兄0 1001

计算补码:0 1001

要知道它所表达的数是多少,需要转换为原码

_____

转为原码:按位取反:1 1001

末位加一:1 1010

符号位为1是负数,即-10

转二进制:1 1001

计算补码:1 0111

要知道它所表达的数是多少,需要转换为原码____

转为原码:正数的补码和原码相同,仍为:0 1000,即8

~9的计算步骤:

转二进稿枯判制:0 1001

计算补败漏码:0 1001

按位取反:1 0110

转为原码:1 0110

按位取反:1 1001 反码

末位加一:1 1010 补码

符号位为1是负数,即-10

规律:~x=-(x+1);

因此,t=~9(键改1001)并不能输出6(0110),而是-10;

按位磨谨李反转即“按位取反”,特指按位取反运算符 ~,这 是 一 元 运 算 法 ,对 数 据 的 每 个 二 进 制 位 取 反 ,由此【1变为 0,把 0变 为 1】。

例 如 :0010101~晌纤1101010 值得注 意的数 ,~ 运 算瞎迟 符 与 - 运 算 符 不 同 ,~ 21≠ -21。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12487680.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存