转载大牛的链接,理解原码、补码之间的关系
https://blog.csdn.net/luolaifa000/article/details/83010807
首先,理解python中,计算机只存储整数的补码(不是原码),屏幕上显示的都是整数的补码(此处重要,黑客帝国Neo看到的都是01010101.)
其次,强记
正数的补码等于原码;负数的补码等于原码符号位不变,其余各位取反加1
贴张图加深理解:
例子:
-
取反50,print(~50) —> -51
-
取反 - 27 ,print(~27) —> 26
看了有的博客有个快速计算法:~ a = - (a +1)