2.1.1数据格式 s2:6L ll/60/2202
在选择计算机的数的表示方式时,需要考虑以下几个因素:1要表示的数的类型(小数、
整数、实数和复数);②可能的数值范围:3数值精确度;4数据存储和处理所需要的硬件
代价。 计算机中常用的数据表示格式有两种,一是定点格式, 二是浮点格式。一般来说,定点格式容许的数值范围有限,要求的处理硬件比较简单。而浮点格式容许的数值范围很大,要求的处理硬件比较复杂。
定点数的表示方法一及章片机
1. 所谓定点格式,即约定机器中所有数据的小数点位置是固定不变的。由于约定在固定的位置,小数点就不再使用记号“.”来表示。原理上讲,小数点位置固定在哪一位都可以,但是通常将数据表示成纯小数或纯整数。
假设用一个n+1位字来表示一个定点数x,其中一位x。用来表示数的符号,其余位数代表它的量值。为了将整个n+1位统一处理,符号位x。放在最左位置,并用数值0和1分别代表正号和负号。
如果数x表示的是纯小数,那么小数点位于x和x-1之间。当Xat…xpxo各位均为0时,数x的绝对值最小,即=0;当各位均为1时,数x的绝对值最大,即风max=1-2-”,
故数的表示范围为 0<x<1-2-”
2.浮点数的表示方法(大中型机和高档微机)
从定点机取比例因子中我们得到一个启示,在计算机中还可以这样来表示数据:把一点个数的有效数字和数的范围在计算机的一个存储单元中分别予以表示。这种把数的范围和精度分别表示的方法,相当于数的小数点位置随比例因子的不同而在一定范围内可以自由浮动,所以称为浮点表示法。
3.十进制数串的表示方法
大多数通用性较强的计算机都能直接处理一
机内主要有两种表示形式:
(1)字符串形式,即1字节存放一个十进制
进制数占用连续的多字节,故为了指明这样一个
位数(串的长度)。这种方式表示的十进制字符串
(2)压缩的十进制数串形式,即1字节存放
储空间,又便于直接完成十进制数的算术运算,
上进制形式表示的数据。十进制数串在计算
的数位或符号位。在主存中,这样的一个十
数,需要给出该数在主存中的起始地址
主要用在非数值计算的应用领域中。
两个十进制的数位。它比前一种形式节省不
是广泛采用的较为理想的方法。
1.原码表示法
若定点整数的原码形式为x-…Xpo(x,为符号位),则原码表示的定义是[x]原=x, 2”-x=2”+ x,2”>x>0
0>x>-2” (2.5)
式中,[x]是机器数,x是真值。 个从二反+
例如,x=+1001,则[x]原=01001
x=-1001,则[x]原=11001
般情况下,对于正数x=+x…xpXa则有
[x]原=0xm=1…x180
对于负数x=-xn-1…X1X0,则有
[x]原=1 xn-1…X1.X0
对于0,原码机器中往往有“+0”、“-0”之分,故有两种形式:[+0]原=0000···0 原码中D不为1
22/09/11 19:33 07 =1000··0
2.补码表示法
我们先以钟表对时为例说明补码的概念。假设现在的标准时间为4点正,而有一只表已经7点了,为了校准时间,可以采用两种方法:一是将时针退7-4=3格;一是将时针向前拨12-3=9格。这两种方法都能对准到4点,由此看出,减3和加9是等价的。就是说9是(-3)对12的补码,可以用数学公式表示为
-3=+9
一个正整数,当用原码、反码、补码表示时,符号位都固定为0,用二进制表示的数位值都相同,即三种表示方法完全一样。
一个负整数,当用原码、反码、补码表示时,符号位都固定为1,用二进制表示的数值都不相同。此时由原码表示法变成补码表示法的规则如下:
(1)原码符号位为1不变,整数的每一位二进制数位求反得到反码;
(2)反码符号位为1不变,反码数值位最低位加1,得到补码。
【例2.4】 x=+122,y=-122,求[x]原、[x]反、[x]补、[y]原、[y]反、[y]#。解 x=(+122)10=(+1111010)2, y=(-122)10=(-1111010)2
[x]原=01111010, [x]反=01111010, [x]补=01111010
[y]原=11111010, [y]反=10000101, [y]补=10000110