在十进制数中,可以在数字前面加上“+”、“一”号来表示正、负数,显然数字电路不能直接识别“+”、“一”号。因此,在数字电路中把一个数的最高位作为符号位,并用0表示“+”号.用1表示“一”号,像这样符号也数码化的二进制数称为机器数。原来带有“+”、“一”号的数称为真值。
对于负数,根据需要的不同,有原码、反码、补码三种表示方法。 [1]
- 中文名
- 负数表示法
- 外文名
- negative number representation
- 符号位
- 用1表示
- 表示方法
- 原码、反码、补码
- 类 型
- 十进制数
- 应用学科
- 计算机原理
原码
播报编辑
原码也称“符号——幅度码”,它的尾数部分代表数的绝对值(即幅度大小),符号位代表数的正负号,
是代表正数,
时代表负数,例如x=0.011表示的是+0.375,x=1.011表示的是一0邀捉巴旬巴蜜愉请.375。
原码的优点是乘除运算方便.以两数符号位的逻辑加就可简单决定结果的正负号拔才腊,而数值则是两数数值部分的乘除结果。但原付淋市兵码的加减运算则不方便,因为两数相加,先要判断两数符号是否相同,相同则做加法,不同则做减法,做减法时还要判断两数绝对值大小。以便用大者作为被减数,这样增加了运算时间。
在原码表示,“零”有两种表示方法。例如局渗b=3时,0.000及1.000都表示零,故项定民(b+1)位字长.只能表示(
)个数,即少乎键表达
之间的数。 [2]
补码
播报编辑
(1)补码又称“2的补码”。补码中正数与原码正数表示一样。补码中负数是采用2的补数来表示的,即把负数先加上2.以便将正数与负数的相加转化为正数与正数相加,从而克服原码表示法做加减法的困难。
(2)由于负数的补码是2一|x|,故求负数的补码时,实际上要做一次减法,这是不希望的。可以发现,只要将原码正数的每位取反码(1
0,0
1),再在所得数的末位加1,则正好得到负数的补码,这简称为对尾数的“取反加1”。
(3)补码表示法可把减法与加法统一起来,都采用补码加法。例如做减法时,若减数是正数,则将其变为负数的补码与被减数的补码相加;若减数是负数.则将其变成正数的补码与被减数的补码相加。采用补码做加法,符号位也同样参加运算。如果符号位发生进位,则把进位的1去掉就行了。
(4)任何二进制数与其补码之和等于零(将两数之和的符号位的进位位忽略不计)。
(5)在补码表示中,“零”的表示是唯一的,为0.000(b=3),故(b+1)位字长可表示
个不同的数.即表示从一1~(
)之间的数。
反码
播报编辑
(1)反码又称“1的补码”。和补码一样,反码的正数与原码的正数表示相同。反码的负数则是将该数的正数表示形式中的所有0改为1,所有l改为0,即“求反”。例如x=一0.375,其正数表达式为0.011,将它的0.1全部颠倒,则得1.100,这就是x=一0.375的反码表示。
(2)“零”在反码中有两种表示,0.000与1.111。因而(b+1)位字长可表示
个不同的数,即表示
之间的数。