摘要:
问一个基本的问题。 负数在计算机中如何表示? 举例来说,+8在计算机中表示为二进制的1000,那么-8怎么表示呢? 很容易想到,可以将一个二进制位(bit)专门规定为符号位,它等于0时就表示正数,等于1时就表示负数。比如,在8位机中,规定每个字节的最高位为符号位。那么,+8就是00001000,而-8则是10001000。 但是,随便找一本《计算机原理》,都会告诉你,实际上,计算机内部采用二进制补码(Two's Complement)表示负数。 什么是二进制补码? 它是一种数值的转换方法,要分二步完成: 第一步,每一个二进制位都取相反值,0变成1,1变成0。比如,00001000的相反 阅读全文