当前位置:文档之家› 定点数和浮点数

定点数和浮点数

(3)部分积右移时乘数寄存器同时右移一位,这样可 以用乘数寄存器的最低位来控制相加数(取被乘数或 零),同时乘数寄存器的最高位可接收部分积右移出来 的一位,因此,完成乘法运算后,A寄存器中保存乘积 的高位部分,乘数寄存器C中保存乘积的低位部分。 23
例:设X=0.1101,Y=0.1011,求X•Y. 其中寄存器B=X ,Cd=4.流程图3.6
8位阶码为:(+9)补=0000 1001
24位尾数为:(+0.10 0000 0001)补
=0.100 0000 0010 0000 0000 0000
所求256.5的浮点表示格式为:
0000 1001 0100 0000 0010 0000 0000 0000
用16进制表示此结果则为:(09402000)16
3.2.3 定点数和浮点数 计算机中的两种表示方式
数值范围:一种数据类型所能表示的最大值和 最小值
数据精度:实数所能表示的有效数字位数。
数值范围和数据精度均与使用多少位二进制位
数以及编码方式有关。
计算机用数字表示正负,隐含规定小数点。 采用“定点”、“浮点”两种表示形式。
1
1. 数的定点表示方法
6
2. 求Y= -256.5 的第一种浮点表示格式
Y=-(256. 5)10 =-(100000000.1)2 =-0.1000000001 x2+9 8位阶码为:(+9)补=0000 1001 24位尾数为:(-0.10 0000 0001)补 =1.011 1111 1110 0000 0000 0000 所求-256.5的浮点表示格式为: 0000 1001 1011 1111 1110 0000 0000 0000 用16进制表示此结果则为:(09BFE000)16
步数与最后一步操作:乘数有效位是4位,共 作5步。注意,最后一步不移位因为这一步 是用来处理符号位的。
28
3.4.1 定点除法运算
1.定点原码一位除法
有恢复余数法和不恢复余数法(加减交替法),计算机中常用
后者。因为它的操作步骤少,而且也不复杂。其处理思想是:先 减后判,如减后发现不够减,则在下一步改作加除数操作。这样 操作步骤固定易于编程。其要点如下:
-1022
-16382
+1023
+16383
10-308~10+308
12
微机中浮点数表示成规格化形式,如下图所示:
单精度 双精度 扩展精度
31 30 23 22
0
符号位 阶 码 尾数有效位

63 62 符号位 阶
52 51
0
码 尾数有效位

79 78 符号位 阶
64 63
0
码 尾数有效位
7
(3) 溢出问题
定点数的溢出——根据数值本身判断 浮点数的溢出——根据规格化后的阶码判断
上溢——浮点数阶码大于机器最大阶码—— 中断
下溢——浮点数阶码小于机器最小阶码—— 零处理
溢出的具体判断方法将结合实例在后续课程中介绍
8
3. 微机中所能表示的数值类型
(1)无符号二进制数(字节、字和双字) (2)带符号的二进制定点整数形式(16、
5
例题:设某机器用32位表示一个实数,阶码部分8位 (含1位阶符),用定点整数补码表示;尾数部分24 位(含数符1位),用规格化定点小数补码表示,基 数为2。则:
1. 求X=256.5 的第一种浮点表示格式
X=(256. 5)10 =+(100000000.1)2 =+(0.1000000001 x 2+9 )2
(1)要求被除数|X|<除数|Y|,并取原码尾数的绝对值相除;符号 位单独处理,商的符号为相除两数符号的半加和。
计算过程如下:部分积 A源自乘数 C00 0000
1011
+x
00 1101
右移一位→
+x
00 1101 00 0110 00 1101
1 1 0 1 1(丢失)
右移一位→
+0
01 0011 00 1001 00 0000
1 1 1 0 1(丢失)
右移一位→
+x
00 1001 00 0100 00 1101
尾数为原码表示时,无论正负应满足1/2<|d |<1
即:小数点后的第一位数一定要为1。
正数的尾数应为0.1x….x 负数的尾数应为1.1x….x
尾数用补码表示时,小数最高位应与数符符号位 相反。
正数应满足 1/2≦d<1,即 0.1x….x 负数应满足 -1/2 > d≥ -1,即 1.0x….x
32、64位补码表示)和18位BCD码整数形 式(80bit)。 (3)浮点数(IEEE754标准) 包括数符 S、阶码E和尾数D三个字段。
9
微机中的四种整数类型
整数类型 数值范围 精 度 格 式 16位整数 -32768~32767 二进制16位 补码表示
短整数 -231~ 231-1 二进制32位 补码表示 长整数 -263~ 263-1 二进制64位 补码表示 BCD整数 -1018+1~1018-1 十进制18位 80个二进 制其中最左面1字节的最高位是符号位,余7位无 效;另外72位是18位BCD码,原码表示。
15
3.2.4 数字化信息的编码及表示
计算机进行数据处理和运算,就必须首先实 现数字化表达。
另外由于计算机除了数据处理和运算外,还 要进行各种文字(特别是中文)的处理与编辑。因 此,所有由计算机处理的信息也要用数字进行编 码。这样在物理机制上可以以数字信号表示.
16
信息的数字化表示形式
数字信号:是一种在时间上或空间上离散 的信号,单个信号是常用的二值逻辑(0或 1),依靠多位信号组合表示广泛的信息.
Yi Yi+1
操作
00
原部分积右移一位
01
原部分积加X补后再右移一位
10
原部分积加[-X补]后再右移一位
11
原部分积右移一位
26
例3.35:设X=-0.1101,Y=0.1011,即[X]补=11.0011,[Y]补=0.1011 ,[-X]=00.1101 求
[X•Y]补. 计算过程如下:
部分积
14
例:将下面Pentium机中的单精度浮点数 表示成十进制真值是多少?
0011 ,1111,0101,1000,0000,0000,0000,0000
数符:S=(-1) 0=1 (正号) 阶码: E=(01111110)2-127=126-127= -1 尾数: D=(1.1011)2 X= 1.1011x2-1= (0.11011)2=0.84375
最后是加符号位,根据Sx⊕Sy决定。25
2.定点补码一位乘法
实现补码乘法有两种方法,现在广泛使用的是
Booth算法,也称为比较法。这种方法在机器实 现中要在乘数末位Yi之后再增加一个附加位Yi+1, 并令其初始值为0。然后根据比较Yi、 Yi+1的值决 定下一步操作,规则如下:(部分积初始为0)
11
微机中三种不同类型浮点数的格式
参数
单精度
双精度 扩展精度
浮点数长度(位)
32 64
80
符号位数
1
1
1
尾数长度 P(位) 23+1(隐) 52+1(隐) 64
阶码 E 长度(位) 8
最大阶码
+127
11
15
+1023
+16383
最小阶码 阶码偏移量 表示数范围
-126 +127 10-38~10+38
(1). 定点整数——小数点位置固定在数的最低位之后
. 如: Dn-1 Dn-2 • • • • • • D1 D0
范围: 2n-1 -1 ~ -2n-1 (采用字长n=16位补码时其 值为32767 ~ -32768)
(2). 定点小数——小数点位置固定在数的符号位之后、数值
最高位之前。
. 如:D0 D-1 • • • • • • D-(n-2) D-(n-1)
11 0110

11 1011
0010 1 0
右移一位
+
00 1101
Y2Y1=01 +[-X]补
00 1000

00 0100
0001 0 1
右移一位
+
11 0011
Y1Y0=10 +[X]补
11 0111
0001
乘积高位
乘积低位
27
[X•Y]补=1.01110001, X•Y=-0.10001111
范围:1 - 2-(n-1) ~ -1 (采用字长n=16位时其值为 32767/32768 ~ -1)
其中n表示字长多少位
2
2. 数的浮点表示方法
(1) 浮点数的表示:是把字长分成阶码和
尾数两部分。其根据就是:
X

D• 2E
① J Em-2…….E0J S D-1……D-(n-1)
阶符
阶码值
数符 . 尾数值
(1)在机器内一次加法操作只能求出两数之和,因此 每求得一个相加数时,就得与上次部分积相加。
(2)人工计算时,相加数逐次向左偏移一位,由于最 后的乘积位数是乘数(或被乘数)的两倍.由于在求本 次部分积时,前一次部分积的最低位,不再参与运算, 因此可将其右移一位。相加数可直送而不必偏移,于是 用N位加法器就可实现两个N位数相乘。
20
数字化方法表示信息的优点:
抗干扰能力强,可靠性高; 位数增多则数的表示范围可扩大; 物理上容易实现,并可存储; 表示信息的范围与类型极其广泛; 能用逻辑代数等数字逻辑技术进行处理.
相关主题