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

时间:2023-03-09 09:30:03
关于使用python ~取反操作符带出的一系列问题

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

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

首先看看行为

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

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

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

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