计算机组成原理「补码」

前沿技术

  计算机中的有符号数,符号位+数值位两部分,符号位0表示整数,1表示负数。在计算机系统中,数值一律用补码来表示和存储,原因在于,使用补码,可以将符号位和数值位统一处理,同时加法和减法也可以统一处理。

  a.正整数的补码是其二进制表示,与原码相同。

  b.求负整数的补码,将其原码除符号位外的所有位取反(0变1,1变0,符号位为1不变)后加1 [4] 。同一个数字在不同的补码表示形式中是不同的。比如-15的补码,在8位二进制中是11110001,然而在16位二进制补码表示中,就是1111111111110001。以下都使用8位2进制来表示。

  c.数0的补码表示是唯一的,000000000

  补码求原码

  已知一个数的补码,求原码的操作其实就是对该补码再求补码

  ⑴如果补码的符号位为“0”,表示是一个正数,其原码就是补码。

  ⑵如果补码的符号位为“1”,表示是一个负数,那么求给定的这个补码的补码就是要求的原码。

  例:已知一个补码为11111001,则原码是10000111(-7)。

  因为符号位为“1”,表示是一个负数,所以该位不变,仍为“1”。

  其余七位1111001取反后为0000110;再加1,所以是10000111。

标签: 前沿技术