计算机中的数以二进制形式存储,称为机器数,销清其中最高位用于存放符号,0代表正数,1代表负数。机器数有三种表示方式:原码、反码和补码。计算机通常使用补码存储,便于简化减法运算,将其视亏洞前为加法。以下是这三种编码方式的介绍:
1. 原码(0表示正数,1表示负数):例如,十进制的+7转换为8位二进制是00000111,-7则是10000111。无符号数范围是00000000~11111111,有符号数范围根据位数有所不同。
2. 反码(正数不变,负数除符号位外其他位取反):例如,+7和-7的反码分别是01100110和10011000。反码用于计算,但存在0的特殊性。
3. 补码(正数不变,负数除符号位外其他位取反后加1):+7和-7的补码分别是01100110和10011001。补码解决了0的符号问题,同时也多表示了一个最小值。
原码和反码因运算问题在计算机内部不常用,尤其是0的表示问题。补码的颤毁优势在于简化了减法运算,使得范围扩展,例如8位二进制的补码可以表示从-128到+127,而32位int类型则能表示更大的范围。科学计数法则是另一种数值表示方法,如1.99714E13等。