@[TOC]python取反计算
假设是8位存储,则1的原码为0000 0001,补码为0000 0001(正数的原码、反码、补码都是本身)
按理解~1是按位取反得到1111 1110,计算机以1111 1110存储了1取反的结果;计算机以补码存储数据,可知这并不是1的补码,而是另一个数x的补码,且x的补码值=1的取反值。
所以通过这个补码1111 1110可以计算原码x1111 1110(是补码格式,首位1是符号位,取反时不变)取反得1000 0001+1得1000 0010即十进制-2 所以1取反后得到的原码是-2.
新手总结,有错望指正!