python中取反操作符怎么使用

发布时间:2023-03-25 17:20:34 作者:iii
来源:亿速云 阅读:114

这篇文章主要介绍了python中取反操作符怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python中取反操作符怎么使用文章都会有所收获,下面我们一起来看看吧。

python取反操作符

~ : 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1 。

~x 类似于 -x-1

1、计算依据

2、例子

~(-2)

首先你要知道 -2 在计算机里面的二进制形式,由⑤和②可知:

1111 1111 1111 1110 就是-2在计算机里面的原型

现在开始对他求反,符号位不变,

按位取反: 0000 0000 0000 0001

很明显是一个正数,其原码为其本身,所以输出为1.

~2

2 原码,反码,补码: 0000 0000 0000 0010

按位取反: 1111 1111 1111 1101

这是一个负数该怎么办?能直接求吗?

很显然是不行的,⑥说了:取反操作计算结果是在原码上进行的,⑤也说了:负数是以补码存储的

1111 1111 1111 1101 是 0000 0000 0000 0010 的反码,但我们想要的是结果,而不是在计算机里面的原型,

恰好,④补码求原码: 取反,+1

于是,我们得到了原码,可以计算结果了

1000 0000 0000 0011 = -3

总之,取反很简单,但是要注意,取反后是不是原码,是否可以直接计算结果

python数值取反问题~

在python中,用取反符号~得到的并不是我们想象中的结果,总结一下规律,就是   (取反后的值)=  -(取反前的值)-1

下面来分析一下

例如对1取反,1的8位二进制表示为:0000 0001 ,  取反后的结果是:1111 1110, 对于计算机来说,二进制以1开头表示的是负数, 所以这个1111 1110到底表示的是什么负值呢,想要知道这个值,可以求它的补码,即先取反码 :0000 0001, 再加1:0000 0010,说明 1111 1110 的原码为 0000 0010 也就是正数 2, 所以 1111 1110代表的就是负数 -2 

下面再举个例如

对 -2 取反, -2的二进制表示为 2的补码,即 0000 0010 > 1111 1101 > 1111 1110 ,-2的二进制就表示为1111 1110, 对它取反得到 0000 0001,显而易见,取反后的值为1 , 所以 ~(-2)= 1  ,  ~1=-2

总结出来就是:(取反后的值)=  -(取反前的值)-1

关于“python中取反操作符怎么使用”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“python中取反操作符怎么使用”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注亿速云行业资讯频道。

推荐阅读:
  1. python怎么进行数据合并concat/merge
  2. Python和Excel完美结合的常用操作方法是什么

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python

上一篇:model.train()和model.eval()模式怎么使用

下一篇:python怎么将txt文件的内容逐行读取转化成数组

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》