首页 理论教育 计算机数的表示-单片机应用技术 第4版

计算机数的表示-单片机应用技术 第4版

时间:2023-11-19 理论教育 版权反馈
【摘要】:有符号数的符号数码化的方法通常是将符号用“0正1负”的原则表示,并以二进制数的最高位作为符号位。以下均以长度为8位的二进制数表示有符号数。有符号数补码表示的范围为-128~+127,其中0的补码只有一种表示,即+0=-0=00000000。当有符号数用补码表示时,可以把减法转换为加法进行计算。

计算机数的表示-单片机应用技术 第4版

在实际控制过程中,数是有正有负的,而计算机只能识别0、1两种信息,那么正、负数在计算机中如何表示呢?

1.机器数与真值

机器数是指机器中数的表示形式。它将数值连同符号位一起数码化,表示成一定长度二进制数,其长度通常为8的整数倍。机器数通常有两种:有符号数和无符号数。有符号数的最高位为符号位,代表了数的正负,其余各位用于表示数值的大小;无符号数的最高位不作为符号位,所有各位都用来表示数值的大小。

真值是指机器数所代表的实际正负数值。

有符号数的符号数码化的方法通常是将符号用“0正1负”的原则表示,并以二进制数的最高位作为符号位。

2.有符号数的表示方法

有符号数的表示方法有原码、反码和补码3种。以下均以长度为8位的二进制数表示有符号数。

(1)原码表示法

将8位二进制数的最高位(D7位)作为符号位(0正1负),其余7位D6~D0表示数值的大小。

例如:+55的原码为 0 0110111B

   -55的原码为 1 0110111B(www.xing528.com)

有符号数的原码表示范围为-127~+127(FFH~7FH),其中0的原码有两个00H和80H,分别是+0的原码和-0的原码。原码表示简单,与真值转换方便,但进行加、减运算时电路实现较为繁杂。

(2)反码表示法

正数的反码与原码相同,但负数的反码其符号位不变,其余各数值位按位取反。

例如:+0的反码为 0 0000000B; +127的反码为 0 1111111 B

   -0的反码为 1 1111111 B; -127的反码为 1 0000000 B

有符号数的反码表示的范围为-127~+127,其中0的反码与原码类似,也有两个值。

(3)补码表示法

正数的补码与原码相同,负数的补码等于其反码加1(即相应数值的原码按位取反,再加1)。

例如:-127的补码为 1 0000001B;-1的补码为 1 1111111B。

有符号数补码表示的范围为-128~+127,其中0的补码只有一种表示,即+0=-0=00000000。当有符号数用补码表示时,可以把减法转换为加法进行计算。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈