计算机的源码,反玛和补码要从机器数开始讲起。
任意例举一种数字,该数字在计算机中以二进制的形式存在,在不同的情况下计算机的字节长度是不同的,以字节长度为8作为例子:
源码:数字1为例,+1的源码为00000001,-1的源码为10000001.
其中,源码的第一位为符号位:0为正号,1为负号。因此我们可以得知,字节为8的计算机的源码范围是[11111111,01111111]=[-127,127]。
反玛:当十进制中数字为正数时,该数的源码=反玛;当十进制中数字为负数时,该数的反玛=源码在符号位不变的情况下其他数相反,即1变为0或0变为1.
补码:当数字为正数时,补码=源码=反玛;当数字为负数时,补码=反玛的末位+1。
这是我对源码反玛补码的理解。