关于使用python ~取反操作

本文探讨了Python中不常用的~取反运算符的工作原理及其计算过程。通过具体实例解释了正数取反如何转化为负数的过程,并涉及二进制表示及补码的概念。

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

关于使用python ~取反操作符带出的一系列问题

转载于: http://www.cnblogs.com/piperck/p/5829867.html

晚上的时候,无意之间看到stackoverflow上面的一个编程挑战赛,各路高手各种搞事,看到python的地方突然发现用了很多位运算的符号,但是~符号引起了我和同事的注意。

我们很少在程序中使用这种东西,一个是可读性问题,二是感觉不是很熟练于是兴致来了,便探究一番~取反运算。

 

首先看看行为

In [1]: ~3
Out[1]: -4

取反3等于-4,那么是如何进行计算的呢?

 

首先我们知道3的二进制用8bit表示为 0000 0011 那么对这个数进行二进制取反得到 1111 1100 这点来说应该不会有什么理解上的问题。

但是到这里,如果已经忘记或者不知道负数在计算机中是以补码形式表示的盆友(比如我这个菜

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值