浮点数表示范围ppt

合集下载

计算机组成原理浮点数表示及运算演示文稿

计算机组成原理浮点数表示及运算演示文稿
计算机组成原理浮点数表示及 运算演示文稿
第1页,共53页。
(优选)计算机组成原理浮点 数表示及运算
第2页,共53页。
一、浮点数的表示
9×10-28 = 0.9 ×10-27 2×1033 = 0.2 ×1034
任意一个十进制数 N 可以写成
N=10E·×M (十进制表示)
计算机中一个任意进制数 N 可以写成
第7页,共53页。
例:对数据12310作规格化浮点数的编码,假定1位符号位,基 数为2,阶码5位,采用移码,尾数10位,采用补码。
解:12310=11110112= 0.11110110002×27
[7]移=10000+00111 = 10111
[0.1111011000]补=0.1111011000 [123]浮= 1011 1 0 11 1101 1000 = BBD8H
0.00001+0.11000=0.11001
第18页,共53页。
例: x=201×0.1101, y=211×(-0.1010), 求x+y=? 解:为便于直观了解,两数均以补码表示,阶码、尾数均采用
双符号位。 [x]补=00 01, 00.1101 [y]补=00 11, 11.0110 [△E]补= [ Ex]补-[Ey]补= 00 01+11 01 = 11 10 △E = -2, 表示Ex比Ey小2, 因此将x的尾数右移两位. 右移一位, 得 [x]补=00 10, 00.0110 再右移一位, 得 [x]补=00 11, 00.0011 至此, △E=0, 对阶完毕.
(3) 尾数进行加或减运算;
(4) 结果规格化。 (5) 舍入处理。 (6) 溢出处理。
第17页,共53页。

计算机组成原理:浮点数表示及运算

计算机组成原理:浮点数表示及运算
正数 0.1xxxxxx 负数 1.1xxxxxx 补码尾数的规格化的表现形式:尾数的最高位与符号位相反。 正数 0.1xxxxxx 负数 1.0xxxxxx
6
计算机组成原理
例:对数据12310作规格化浮点数的编码,假定1位符号位,基 数为2,阶码5位,采用移码,尾数10位,采用补码。
解:12310=11110112= 0.11110110002×27 [7]移=10000+00111 = 10111 [0.1111011000]补=0.1111011000 [123]浮= 1011 1 0 11 1101 1000 = BBD8H
对阶: [△E]补= [ Ex]补-[Ey]补=00 10+ 11 11= 00 01
y向x对齐,将y的尾数右移一位,阶码加1。 [y]补=00 10,00.0101 求和: 00.1101 + 00.0101 01.0010 [x+y]补=00 10,01.0010 右归:运算结果两符号位不同,其绝对值大于1,右归。 [x+y]补= 00 11,00.1001
0.0000001 --- 0.1111111 1/128 --- 127/128 可表示2-11*0.0001 --- 211*0.1111

设阶码2位,尾数4位

0.0000001 --- 111.1
可表示2-111*0.001 --- 2111*0.111

设阶码3位,尾数3位

0.0000000001 --- 1110000
19
(4) 结果规格化 求和之后得到的数可能不是规格化了的数 , 为了增加有效数 字的位数, 提高运算精度,必须将求和的结果规格化。 ①规格化的定义:

02-定点与浮点数据表示课件

02-定点与浮点数据表示课件

第二章 2.2 定点与浮点数据表示
2 浮点数据表示 N = (-1)S 2 E-127 1.M
E=0 , M =0 :表示机器零; E=0 , M 0 :则N = (-1)S 2 -126 0.M,非规格化的浮点数; 1 E 254 :N = (-1)S 2 E-127 1.M ,规格化的浮点数;
计算机组成原理
第二章 数据表示
2.2 定点与浮点数据表示
第二章 2.2 定点与浮点数据表示
1 定点数据表示
01
可表示定点小数和整数
02
表现形式:X0.X1X2X3X4……..Xn
定点小数
定点整数
03
定点小数表示数的范围(补码为例): -1 ≤ x ≤ 1-2-n
定点整数表示数的范围(补码为例):-2 n ≤ x ≤2n-1
保存S、E、M
从32位二进制序列中分离出S、E、 M
单精度IEEE754
第二章 2.2 定点与浮点数据表示
2 浮点数据表示 例2
将十进制数20.59375转换成32位IEEE754格式浮点数的二进制格式。
解: 先将十进制数换成二进制数: 20.59375=10100.10011 移动小数点,使其变成1.M的形式 10100.10011=1.010010011×2 4
得到: S=0, e = 4,E= 100+01111111 =10000011,M = 010010011
最后得到32位浮点数的二进制存储格式为: 0100 0001 1010 0100 1100 0000 0000 0000 = 41A4C000H
M: 尾数位数,决定数的精度
第二章 2.2 定点与浮点数据表示
2 浮点数据表示 例1

第3章-2定点数和浮点数PPT课件全文编辑修改

第3章-2定点数和浮点数PPT课件全文编辑修改
2. 数的浮点表示方法
(2)浮点数的规格化
目的:字长固定的情况下提高表示精度的措施: 1 增加尾数位数(但数值范围减小) 2 采用浮点规格化形式
规格化方法:调整阶码使尾数满足下列关系: 尾数为原码表示时,无论正负应满足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
注意: 两操作数的绝对值相乘, 符号位单独处理。 寄存器A.B均设置双符号位,第1符号位始终是部分积符号,决定在右移时第1符号位补0 操作步数由乘数的尾数位数决定,用计数器Cd来计数。即作n次累加和移位。 最后是加符号位,根据Sx⊕Sy决定。
例如将十进制数178.125表示成微机中的单精度浮点数
解:178.125=10110010.001B =1.0110010001x27 指数E=7+127=134=10000110B 127是单精度浮点数应加的指数偏移量,其完整的浮点数形式为 : 0 10000110 011 0010 0010 0000 0000 0000 = 43322000H
3.3.1 定点数一位乘法 1. 定点原码一位乘
规则:在机器中采用A,B,C寄存器来分别存放部分积,被乘数和乘数 (1)在机器内一次加法操作只能求出两数之和,因此每求得一个相加数时,就得与上次部分积相加。 (2)人工计算时,相加数逐次向左偏移一位,由于最后的乘积位数是乘数(或被乘数)的两倍.由于在求本次部分积时,前一次部分积的最低位,不再参与运算,因此可将其右移一位。相加数可直送而不必偏移,于是用N位加法器就可实现两个N位数相乘。 (3)部分积右移时乘数寄存器同时右移一位,这样可以用乘数寄存器的最低位来控制相加数(取被乘数或零),同时乘数寄存器的最高位可接收部分积右移出来的一位,因此,完成乘法运算后,A寄存器中保存乘积的高位部分,乘数寄存器C中保存乘积的低位部分。

IEEE754标准

IEEE754标准

•① 十六进制数展开成二进制数
•0 100 0001 0011 0110 0000 0000 0000 0000
•S •阶码E(8位)
•尾数M(23位)
•② 指数e=阶码-127 =1000 0010- 01111111
••③ =包0括0隐00藏00位111的=尾(3数)101.M =1.011011
IEEE754标准
数的科学表达法
浮点数的表示方法
• 把一个数的有效数字和数的范围在计算机的 一个存储单元中分别予以表示
• 数的小数点位置随比例因子的不同而在一定 范围内自由浮动
– 一个十进制数N可以写成 N= 10e×M
– 一个R进制数N可以写成 N=Re×M
M 尾数 e 指数 R 基数
阶码和尾数
小数表示,小数点 放在尾数域最前面
IEEE 754标准
•64位双精度浮点数
E:含阶符的阶码,11

S:1位符号

•M:尾数,52位小

浮点数的规格化
例:156.78 =15.678×101 = 1.5678×102
•多种数据形式
= 0.15678×103=RE×M
那么,计算机中究竟采用哪种数据形式?
•③ 得到32位浮点数的二进制存储格式为: •0 100 0001 1010 0100 1100 0000 0000 0000 •=(41A4C000)16
➢32位单精度规格化浮点数
IEEE 754标准
E=1(0000 0001)~254(1111 1110)
e=-126~+127
表达的数据范围(绝对值):
• 完成浮点加减运算的操作过程大体分为四步:
✓ 最小值: e=-126,M=0(1.M=1)

浮点数表示及运算

浮点数表示及运算

Emax=2046, f=1.1111…,1.111…1×22046-1023 =21023×(2-2-52)
负下溢出 零
负上溢出 可表示负数范围
正下溢出 可表示正数范围 正上溢出
ห้องสมุดไป่ตู้-(1-2-23) 2127
计算机组成原理
-0.52-128 0 0.52-128
(1-2-23) 2127
数轴
指数e=阶码-127=10000010-01111111 =00000011=(3)10 包括隐藏位1的尾数: 1.M=1.011 0110 0000 0000 0000 0000=1.011011 于是有 x=(-1)s×1.M×2e
=+(1.011011)×23=+1011.011=(11.375)10
计算机组成原理
12
单精度浮点数编码格式
符号位 0/1 0/1 0 1 0/1 0/1 0/1
阶码 255 255 255 255 1~254
0 0
尾数 非零1xxxx 非零0xxxx
0 0
f f (非零)
0
表示
NaN Not a Number sNaN Signaling NaN +∞ -∞ (-1)S× (1.f) 2 × (e-127) (-1)S× (0.f) 2 × (-126) +0/-0
正数 0.1xxxxxx 负数 1.0xxxxxx
计算机组成原理
6
例:对数据12310作规格化浮点数的编码,假定1位符号位,基 数为2,阶码5位,采用移码,尾数10位,采用补码。
解:12310=11110112= 0.11110110002×27 [7]移=10000+00111 = 10111 [0.1111011000]补=0.1111011000 [123]浮= 1011 1 0 11 1101 1000

浮点数表示及运算

浮点数表示及运算

计算机组成原理
15
完成浮点加减运算的操作过程大体分为: (1) 0 操作数的检查;
(2) 比较阶码大小并完成对阶; (3) 尾数进行加或减运算; (4) 结果规格化。 (5) 舍入处理。 (6) 溢出处理。
计算机组成原理
16
(1) 0 操作数检查 (2) 对阶
使二数阶码相同(即小数点位置对齐),这个过程叫作对阶。 • 先求两数阶码 Ex 和 Ey之差,即△E = Ex-Ey 若△E = 0,表示 Ex=Ey 若△E > 0, Ex>Ey 若△E < 0, Ex<Ey 通过尾数的移动来改变Ex或Ey,使其相等。
19
(4) 结果规格化 求和之后得到的数可能不是规格化了的数, 为了增加有效数 字的位数, 提高运算精度,必须将求和的结果规格化。 ①规格化的定义:
采用原码: 正数: S=0.1 ×××…× 负数: S=1.1 ×××…× 采用双符号位的补码:
对正数: 对负数:
1 S 1 2
(二进制)
S=00.1×××…× S=11.0×××…×
格式 单精度 最小值 Emin=1, M=0, 1-127 -126 1.0×2 =2 最大值 Emax=254, 254-127 f=1.1111…, 1.111…1×2 127 -23 = 2 ×(2-2 ) Emax=2046, 2046-1023 f=1.1111…,1.111…1×2 1023 -52 =2 ×(2-2 )
8位定点小数可表示的范围


0.0000001 --- 0.1111111 1/128 --- 127/128 可表示2-11*0.0001 --- 211*0.1111

设阶码2位,尾数4位

定点数和浮点数课件

定点数和浮点数课件

符号位
表示浮点数的正负,0表示正数,1 表示负数。
指数位
表示浮点数的指数部分,即小数点的 位置。
尾数位
表示浮点数的尾数部分,即小数点后 面的数字。
浮点数的范围和精度
范围
浮点数的范围取决于指数位的位 数和尾数位的位数,一般分为单 精度和双精度两种类型,单精度 范围较小,双精度范围较大。
精度
浮点数的精度取决于尾数位的位 数,位数越多,精度越高,能够 表示的数字越精确。
浮点数定义
浮点数是指小数点位置可以浮动的数 值表示方式,通常用于计算机内部运 算,其小数点位置可以根据需要移动。
浮点数的优点
浮点数的缺点
浮点数表示方式相对复杂,计算机内 部计算浮点数需要更多的时间和空间 资源,同时浮点数容易受到计算机内 部精度限制的影响。
浮点数表示方式的范围广泛,可以表 示非常大或非常小的数值,同时浮点 数精度高,能够准确表示小数。
具体实现可能会有所不同。
在定点数运算中,需要注意溢出、 舍入误差等问题。
一般来说,定点数运算的速度比 浮点数运算要快,因此在需要高 精度计算的情况下,定点数是一
种更好的选择。
2023
PART 03
浮点数的表示方法
REPORTING
浮点数的表示格式
IEEE 754标准
浮点数在计算机中采用IEEE 754标准 进行表示,包括符号位、指数位和尾 数位三个部分。
浮点数的运算规则
01
加减运算
浮点数的加减运算与普通加减运算类似,只需要对尾数位进行加减即可,
指数位不变。
02
乘除运算
浮点数的乘除运算需要将尾数位和指数位分开计算,然后组合得到结果。
乘法时尾数位需要左移一位,除法时尾数位需要右移一位。

强烈推荐IEEE754标准的32位浮点数格式.ppt

强烈推荐IEEE754标准的32位浮点数格式.ppt
符号位=0 阶码=10000101 尾数=10010001000000000000000 短浮点数代码为
0,100 0010 1,100 1000 1000 0000 0000 0000 表示为十六进制的代码:课4件2C88000H短。浮点数格式
把浮点数C1C90000H转成十进制数。 ⑴ 十六进制→ 二进制形式,并分离出符号位、阶码和尾数。
阶码8位 课件 尾数23位
例3:将(100.25)10转换成短浮点数格式。 ⑴ 十进制数→二进制数 (100.25)10=(1100100.01)2 ⑵ 非规格化数→规格化数 1100100.01=1.10010001×26 ⑶ 计算移码表示的阶码(偏置值+阶码真值)
1111111+110=10000101 ⑷ 以短浮点数格式存储该数。
课件
试1将-(0.11)用IEEE短实数浮点格式表示。
2
31 30
23 22
0
S
数符
阶码
尾数
解:-(0.11) = -(1 + 0.1) 2 -1 ;隐含尾数最高位为1 2 数符:为1
阶码:阶码 = 阶码真值 + 127= -1+127=126=(01111110)2 尾数:为 0.100 0
该浮点代码为 1,01111110,100 0
IEEE754标准的32位浮点数格式
课件
IEEE754标准的32位浮点数格式为:
31 30
S
23 22
0
数符
阶码
尾数
S:数符,0正1负。 阶码:8位以2为底,阶码 = 阶码真值 + 127 。 尾数:23位,采用隐含尾数最高位1的表示方法,
实际尾数24位,尾数真值 = 1 + 尾数 这种格式的非0浮点数真值为:(-1)S 2阶码-127(1 + 尾数)

计算机组成原理机器数的定点与浮点、非数值数据的编码表示和数据校验码 (1)

计算机组成原理机器数的定点与浮点、非数值数据的编码表示和数据校验码 (1)

13:41
11
§2.3 机器数的定点与浮点表示
2)精度 所谓精度是指一个数所含有效数值位的位数。 一般来说机器字长越长,它所表示的数的有效位数就越多, 精度就越高:对于字长相同的定点数与浮点数来说,浮点 数虽然扩大了数的表示范围,但这正是以损失精度为代价 的,也就是数轴上各点的排列更稀疏了。
13:41
13:41
10
§2.3 机器数的定点与浮点表示
三、 定点数和浮点数比较
定点数据表示简单,省硬件;浮点数据表示较麻烦, 价格较贵。从以下几个方面来比较它们性能上的主要差距。 1)数值的表示范围 假设定点数和浮点数的字长相同,浮点表示法所能表示的 数值范围将远远大于定点表示法,但是此范围指的只是数 的上下限,它们之间是一些不连续的点,而不是—段连续 的区间。 对于定点数而言,各个点在数轴上的分布是均匀的; 而对于浮点数而言,各个点在数轴上的分布是不均匀的。 越靠近数轴的原点,两个相邻的浮点数之间的距离就越近。
13:41 8
§2.3 机器数的定点与浮点表示
4.浮点数的表示范围
尾数部分给出有效数字的位数,决定了浮点数的表示 精度,尾数占的位数越大,浮点数的表示精度就越高; 阶码部分指明小数点在数据中的位置,决定了浮点 数的表示范围,阶码占的位数越大,浮点数的表示范围 就越大; 通常希望数据表示的范围越大越好、精度越高越好, 但是由于计算机的存储字长是一定的,不能两者兼顾。
• --------在取回这样的浮点数到运算器执行运算时,必须先恢 复该隐藏位。
13:41
7
§2.3 机器数的定点与浮点表示
4. 浮点数的表示范围(阶码用移码表示,尾数用补码表示)
Es,E1 … Em ; Ms . M1 … Mn

2-3-python编程基础知识--基本数据类型PPT课件

2-3-python编程基础知识--基本数据类型PPT课件

用class定义)、模块(类型为 来集中存放函数、类、常量或其他对
module)
3

Python的常用内置对象
▪ 在Python中,不需要事先声明变量名及其类型, 直接赋值即可创建各种类型的对象变量。这一点 适用于Python任意类型的对象。
例如:
>>> x = 3
创建了整型变量x,并赋值为3,再例如语句
type()
#查看变量类型
isinstance()
#测试对象是否是某个类型的实例
5
数字类型
6
数字类型
程序元素:010/10,存在多种可能 表示十进制整数值10 类似人名一样的字符串
数字类型对Python语言中数字的表示和使用 进行了定义和规范
7
数字类型
Python语言包括三种数字类型 整数类型 浮点数类型 复数类型
正无穷大,负无穷大为-math.inf
非浮点数标记,NaN(Not a Number)
25
math库解析
math库包括16个数值表示函数
函数 math.fabs(x) math.fmod(x, y) math.fsum([x,y,…]) math.ceil(x) math.floor(x) math.factorial(x)
描述 返回x的y次幂 返回e的x次幂,e是自然对数 返回e的x次幂减1 返回x的平方根
返回1+x的自然对数值 返回x的2对数值 返回x的10对数值
27
math库解析
math库包括六个“三角双曲函数
函数 math.degree(x) math.radians(x) math.hypot(x,y)
math.sin(x) math.cos(x) math.tan(x) math.asin(x) math.acos(x) math.atan(x) math.atan2(y,x) math.sinh(x) math.cosh(x) math.tanh(x) math.asinh(x) math.acosh(x) math.atanh(x)

计算机组成原理第4章浮点数运算方法ppt课件

计算机组成原理第4章浮点数运算方法ppt课件
因此如果求阶码和可用下式完成: [jx]移+[jy]补= 2n+ jx +2n+1+ jy = 2n+ [2n +( jx + jy)] = [jx +
jy]移 (mod 2n+1) 则直接可得移码形式。
同理,当作除法运算时,商的阶码可用下式完成: [jx]移+[-jy]补 = [jx - jy]移
11
5. 溢出判断
在浮点规格化中已指出,当尾数之和(差)出现 01.××…×或10.××…×时,并不表示溢出,只有 将此数右规后,再根据阶码来判断浮点运算结果是否 溢出。
若机器数为补码,尾数为规格化形式,并假设阶符取 2位,阶码取7位,数符取2位,尾数取n位,则它们能 表示的补码在数轴上的表示范围如下图。
浮 点 数 加 减 运 算 流 程 图
16
浮点加减法运算
1. 大型计算机和高档微型机中,浮点加减法运算是由 硬件完成的。低档的微型机浮点加减法运算是由软 件完成的,但无论用硬件实现或由软件实现加减法 运算,基本原理是一致的。
2. 浮点加减法运算要经过对阶、尾数求和、规格化、 舍入和溢出判断五步操作。其中尾数运算与定点加
23
2. 尾数运算
(1)浮点乘法尾数运算 (2)浮点除法尾数运算
24
(1)浮点乘法尾数运算
预处理:检测两个尾数中是否有一个为0, 若有一个为0,乘积必为0,不再作其他操 作;如果两尾数均不为0,则可进行乘法运 算。
相乘:两个浮点数的尾数相乘可以采用定 点小数的任何一种乘法运算来完成。
规格化:相乘结果可能要进行左规,左规 时调整阶码后如果发生阶下溢,则作机器 零处理;如果发生阶上溢,则作溢出处理。

二进制浮点数表示方法PPT课件

二进制浮点数表示方法PPT课件
数据总线地址总线控制总线数据总线地址总线控制总线四微型计算机的总线结构微处理器cpu随机存储器输入输出设备接口总线只读存储器硬件各部硬件各部件传递信件传递信息的通道息的通道业文化就是传统氛围构成的公司文化它意味着公司的价值观诸如进取守势或是灵活这些价值观构成公司员工活力意见和行为的规范
计算机系统的组成
带符号数的表示
原码的特性:
(1) [X]原=符号位+|X|,即原码的最高位为符号位,尾数 部分为数值位(绝对值)。
(2) 数的原码有正负零之分,[+ 0]原=000000000, [ - 0]原=100000000。
(3) 8位原码的数值范围为:[+127]原=01111111, [-127]原=11111111。
数据的表示方法和转换
任意一个十进制数A,可以表示为:
6 . 6 6 6 1 6 2 6 6 1 0 6 1 6 1 0 0 6 1 0 1 6 1 0 2 6 1 0 3
A A n 1 1n 0 1 A n 2 1n 0 2 A 1 11 0A 0 100 A 1 1 1 0 A 2 1 2 0 A m 1 m 0
m
D Di 16i in1
数据的表示方法
基数为2
位权
m
B Bi 2i in1
数据的表示方法和转换
P.60.表3.1给出了各种进位计数制的对应关系。
十进制 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
二进制 0 1
10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111 10000
(1)二进制与八进制之间的转换 因为8=23,由此一位八进制由三位二进制构成

2定点数和浮点数

2定点数和浮点数
1. 数的定点表示方法
(1). 定点整数——小数点位置固定在数的最低位之后 如: Dn-1 Dn-2 • • • • • • D1 D0 . பைடு நூலகம்围: 2n-1 -1 ~ -2n-1 (采用字长n=16位补码时其 值为32767 ~ -32768) (2). 定点小数——小数点位置固定在数的符号位之后、数值
5
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
X D2
尾数值
① ②
J
阶符
Em-2…….E0
阶码值
J
S
数符
D-1……D-(n-1)
. .
S
J Em-2
…….E0
D-1……D-(n-1)
尾数值
数符 阶符
阶码值
通常,阶码为补码或移码定点整数,尾数为补码或原码 定点小数。
2
(2)浮点数的规格化
目的:字长固定的情况下提高表示精
度的措施: 1 增加尾数位数(但数值范围减小) 2 采用浮点规格化形式
最高位之前。
如:D0. D-1 • • • • • • D-(n-2) D-(n-1) 范围:1 - 2-(n-1) ~ -1 (采用字长n=16位时其值为 32767/32768 ~ -1) 其中n表示字长多少位

双精度浮点数

双精度浮点数
16
量化
数的表示精度与运算可用精度
– 表示精度:量化误差
• 变化的(非均匀量化) • 在确定了阶的值后,由尾数位数确定
– 运算可用精度
• 固定的:由尾数位数确定
所以尾数位数被一般性地叫做“精度”
17
量化
如何实现非均匀量化
– 科学记数法
• 无论阶的值是多少,尾数的位数是固定的
– 尾数的位数确定了在相邻两个阶之间有几个码点
12
量化
码点
量化
– 把需要表示的区间划分成整数个格子,要表示的 实数向最近的格子边界靠
二位二进制小数 表示精度0.25
用更多位可以 实现更高精度
-1.112
+1.102
-2
-1
-1.75
0
1
2
量化误差 +1.5 13
量化
量化
– N位二进制数:有2N个码点 – 均匀量化:任意二个相邻码点之间的距离相等
26
浮点数:IEEE754
如果结果太大?(>2×1038)
– (上)溢出
如果结果太小?(0<v<1×10-38)
– 下溢出
如何减少溢出的概率?
27
浮点数:IEEE754
双精度浮点数:64位
– C/C++类型:double
– 可表示最大约10308
– 可表示最接近0约10-308
– 尾数53位
– 浮点数中,尾数和阶都被当作无符号进行比较的
• 不能用补码表示阶
d31×-231+d30×230+...+d2×22+d1×21+d0×20
31位无符号整数 尾数和阶

浮点数计算方法ppt

浮点数计算方法ppt
+|x|
2n>x≥0 0≥x>-2n
对于0,原码机器中往往有“+0”、“-0” 之分,故有两种形式:
[+0]原 = 0.000...0 [ -0]原 = 1.000...0
采用原码表示法简单易懂,但它的最大 缺点是加法运算复杂。这是因为,当两数相 加时,如果是同号则数值相加;如果是异号, 则要进行减法。而在进行减法时还要比较绝 对值的大小,然后大数减去小数,最后还要 给结果选择符号。为了解决这些矛盾,人们 找到了补码表示法。
2. 补码表示法
我们先以钟表对时为例说明补码的概念。
假设现在的标准时间为4点正; 而有一只表已
经7点了,为了校准时间,可以采用两种方法:
一是将时针退 7-4=3 格;一是将时针向前拨12-
3=9格。这两种方法都能对准到4点,由此可以
看出,减3和加9是等价的,就是说9是(-3)对12
的补码,可以用数学公式表示:
浮点数所表示的范围远比定点数大。一台 计算机中究竟采用定点表示还是浮点表示,要根 据计算机的使用条件来确定。一般在高档微机 以上的计算机中同时采用定点、浮点表示,由使 用者进行选择,而单片机中多采用定点表示。
[例1] 若浮点数x的754标准存储格式为
(41360000)16,求其浮点数的十进制数值。
4. 移码表示法
移码通常用于表示浮点数的阶码。由于
阶码是个n位的整数,假定定点整数移码形式
为 x0x1x2…xn时,对定点整数移码的传
统定义是:
[x]移=2n+x
2n>x≥-2n
若阶码数值部分为5位,以x表示真值,
则: [x]移=25+x
25>x≥- 25
小结:上面的数据四种机器表示法中,移码 表示法主要用于表示浮点数的阶码。由于补 码表示对加减法运算十分方便,因此目前机 器中广泛采用补码表示法。在这类机器中, 数用补码表示,补码存储,补码运算。也有 些机器,数用原码进行存储和传送,运算时 改用补码。还有些机器在做加减法时用补码 运算,在做乘除法时用原码运算。

2-5浮点运算

2-5浮点运算

对阶过程应该是小阶对大阶 尾数右移
计算机组成原理 Slide 6
•对阶过程
先求两数阶码 Ex 和 Ey之差,即△E = Ex-Ey
若△E = 0, 若△E > 0, 表示 Ex=Ey Ex>Ey
若△E < 0,
Ex<Ey
通过尾数的移动来改变 Ex或Ey,使其相等.
• 对阶原则 阶码小的数向阶码大的数对齐; 小阶的尾数右移,每右移一位,其阶码加1。
10 11
计算机组成原理 Slide 10
求和之后得到的数可能不是规格化了的数, 为了增加有效数 字的位数, 提高运算精度,必须将求和的结果规格化. ①规格化的定义:
采用原码: 正数: S=0.1 ×××…× 负数: S=1.1 ×××…× 采用双符号位的补码: 对正数: 对负数:
1 S 1 2
Ex-Ey<0
X阶码加2
Ex<Ey 小阶对大阶,
X尾数右移2位
解:将x,y转换成浮点数据格式
[x]浮 = 00 101, 00.11011011 [Y]浮 = 00 111, 11.01010011+1 00 111, 11.01010100
计算机组成原理 Slide 23


图中a,b之间的阴影部分,对应阶码小于128的情况,叫做浮点 数的下溢。下溢时.浮点数值趋于零,故机器不做溢出处理, 仅把它作为机器零。 图中的A、B两侧阴影部分,对应阶码大于127的情况,叫做 浮点数的上溢。此刻,浮点数真正溢出,机器需停止运算, 作溢出中断处理。一般说浮点溢出,均是指上溢。 可见,浮点机的溢出与否可由阶码的符号决定: 阶码[j]补=01, 为上溢,机器停止运算,做中断处理;
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

0.xxxxxxx10
把不满足这一表示要求的尾数,变成满足这一要求的尾数 的操作过程,叫作浮点数的规格化处理,通过尾数移位和修改 阶码实现。
计算机组成原理
5
规格化目的: 为了提高数据的表示精度 为了数据表示的唯一性 尾数为R进制的规格化: 绝对值大于或等于1/R
二进制原码的规格化数的表现形式:
正数 0.1xxxxxx 负数 1.1xxxxxx 补码尾数的规格化的表现形式:尾数的最高位与符号位相反。
计算机组成原理
11
例:将十进制数-0.75表示成单精度的IEEE 754标准代码。 解:-0.75 = -3/4 = -0.112 = -1.1×2-1
=(-1)1×(1 + 0.1000 0000 0000 0000 0000 000)×2-1
正数 0.1xxxxxx 负数 1.0xxxxxx
计算机组成原理
6
例:对数据12310作规格化浮点数的编码,假定1位符号位,基 数为2,阶码5位,采用移码,尾数10位,采用补码。
解:12310=xxxxxxx= 0.xxxxxxx002×27 [7]移=10000+00111 = 10111 [0.xxxxxxx00]补=0.xxxxxxx00 [123]浮= 1011 1 0 11 1101 1000
20.59375=10100.10011 然后移动小数点,使其在第1,2位之间
10100.10011=1.xxxxxxx1×24 e=4
于是得到: e =E – 127 S=0,E=4+127=131=1000,0011,M=xxxxxxx1
最后得到32位浮点数的二进制存储格式为 0100 0001 1010 0100 1100 0000 0000 0000= (41A4C000)16
m :尾数,是一个纯小数。 e :浮点的指数, 是一个整数。
R :基数,对于二进计数值的机器是一个常数,一般规定R 为2,8或16
E0 E1 E2 … … … Em M0 M1 M2 … … … Mn源自阶符阶值尾符 尾数值
计算机组成原理
2
一个机器浮点数由阶码和尾数及其符号位组成: 尾数:用定点小数表示,给出有效数字的位数,决定了浮点数的表示精度 阶码:用定点整数形式表示,指明小数点在数据中的位置,决定了浮点数 的表示范围。
Emin=1, Emax=254/2046
计算机组成原理
9
例:若浮点数 x 的二进制存储格式为(xxxxxxx)16,求其32位 浮点数的十进制值。
解: 0100,0001,0011,0110,0000,0000,0000,0000 数符:0 阶码:1000,0010 尾数:011,0110,0000,0000,0000,0000 指数e=阶码-127=xxxxxxx-xxxxxxx =xxxxxxx=(3)10 包括隐藏位1的尾数:
阶符采用隐含方式,即采用移码方法来表示正负指数。
计算机组成原理
8
规格化浮点数的真值
31 30 23 22
0
32位浮点数格式:
SE
M
一个规格化的32位浮点数x的真值为:
x = (-1)s (1.M) 2E-127
e =E – 127
一个规格化的64位浮点数x的真值为:
x = ( –1)s×(1.M)×2E-1023 这里e是真值,E是机器数
计算机组成原理
4
二、浮点数规格化
浮点数是数学中实数的子集合,由一个纯小数乘上一个指数 值来组成。
一个浮点数有不同的表示: 0.5; 0.05101 ; 0.005 102 ; 50 10-2
为提高数据的表示精度,需做规格化处理。
在计算机内,其纯小数部分被称为浮点数的尾数,对非 0 值的浮点数,要求尾数的绝对值必须 >= 1/2,即尾数域的最高 有效位应为1,称满足这种表示要求的浮点数为规格化表示:
计算机组成原理
浮点数表示及运算
2021年2月27日
计算机组成原理
1
一、浮点数的表示
9×10-28 = 0.9 ×10-27 2×1033 = 0.2 ×1034
任意一个十进制数 N 可以写成
N=10E·×M (十进制表示)
计算机中一个任意进制数 N 可以写成
N=Re×m = 2E×M = 2±e× (±m)
于1是.M有=1x.0=11(-0111)0s×0010.M0 ×0020e0 0000 0000=1.011011
=+(1.011011)×23=+1011.011=(11.375)10
计算机组成原理
10
例: 将十进制数20.59375转换成32位浮点数的二进制格式来存储。 解:首先分别将整数和分数部分转换成二进制数:
浮点数的表示范围 负下溢 正下溢
负上溢
正上溢
-

负数 最
0
正数


+












N=2E×M
|N|→∞ 产生正上溢或者负上溢
|N|→0 产生正下溢或者负下溢
计算机组成原理
3
机器字长一定时,阶码越长,表示范围越大,精度越低 浮点数表示范围比定点数大,精度高
8位定点小数可表示的范围
0.xxxxxxx --- 0.xxxxxxx
1/128 --- 127/128
设阶码2位,尾数4位
可表示2-11*0.0001 --- 211*0.1111
0.xxxxxxx --- 111.1
设阶码3位,尾数3位
可表示2-111*0.001 --- 2111*0.111
0.xxxxxxx01 --- xxxxxxx
= BBD8H
计算机组成原理
7
三 、浮点数的标准格式IEEE754
为便于软件移植,使用 IEEE(电气和电子工程师协会)标准IEEE754 标 准:尾数用原码;阶码用“移码”;基为2。
31 30 23 22
0
32位 S E
M
63 62
52 51
64位 S
E
0
M
S——尾数符号,0正1负; M——尾数, 纯小数表示, 小数点放在尾数域的最前面。采用原码表示。 E——阶码,采用“移码”表示(移码可表示阶符);
1.隐藏位技术
原码非0值浮点数的尾数数值最高位必定为 1,则在保存浮点数到内存前,
通过尾数左移, 强行把该位去掉, 用同样多的位数能多存一位二进制数, 有利于提高数据表示精度,称这种处理方案使用了隐藏位技术。
当然,在取回这样的浮点数到运算器执行运算时,必须先恢复该隐藏位。
2.阶码用“移码”偏移值127而不是128
相关文档
最新文档