计算机组成原理:浮点数表示及运算(方案).ppt
计算机组成原理:浮点数表示及运算电子教案
负上溢
正上溢
-
最
负数 最
0
正数
最
最
+
小
大
小
大
负
负正正数 Nhomakorabea数
数
数
N=2E×M
|N|→∞ 产生正上溢或者负上溢
|N|→0 产生正下溢或者负下溢
计算机组成原理
3
机器字长一定时,阶码越长,表示范围越大,精度越低 浮点数表示范围比定点数大,精度高
8位定点小数可表示的范围
0.1000101010
把不满足这一表示要求的尾数,变成满足这一要求的尾数 的操作过程,叫作浮点数的规格化处理,通过尾数移位和修改 阶码实现。
计算机组成原理
5
规格化目的: 为了提高数据的表示精度 为了数据表示的唯一性 尾数为R进制的规格化: 绝对值大于或等于1/R
二进制原码的规格化数的表现形式:
正数 0.1xxxxxx 负数 1.1xxxxxx 补码尾数的规格化的表现形式:尾数的最高位与符号位相反。
0.0000001 --- 0.1111111
1/128 --- 127/128
设阶码2位,尾数4位 可表示2-11*0.0001 --- 211*0.1111
0.0000001 --- 111.1
设阶码3位,尾数3位 可表示2-111*0.001 --- 2111*0.111
0.0000000001 --- 1110000
指数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
浮点数表示及运算
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
2024版《计算机组成原理》ppt课件
《计算机组成原理》ppt课件目录•计算机系统概述•数字逻辑基础•计算机各部件的功能和组成•指令系统•CPU的结构和功能•存储器的层次结构•计算机组成原理的应用和发展01计算机系统概述Part计算机的发展历程第一代计算机(1946-1957)电子管时代,采用电子管作为基本元件,体积大、功耗高、可靠性差。
第二代计算机(1958-1964)晶体管时代,采用晶体管作为基本元件,体积减小、功耗降低、可靠性提高。
第三代计算机(1965-1970)集成电路时代,采用中小规模集成电路,使得计算机体积更小、功耗更低、可靠性更高。
第四代计算机(1971年至今)大规模和超大规模集成电路时代,计算机性能得到极大提升,应用领域不断扩展。
计算机系统的层次结构微程序机器级微指令由硬件直接执行,微程序由微指令构成,用于描述机器指令。
高级语言级用高级语言编写程序,通过编译或解释程序翻译成机器语言程序或汇编语言程序。
传统机器级用微程序解释机器指令系统,提供传统机器级虚拟机器。
汇编语言级用汇编语言编写程序,通过汇编程序翻译成机器语言程序。
操作系统级通过系统调用实现操作系统功能,提供扩展机器。
计算机的性能指标机器字长指CPU一次能处理数据的位数,通常与CPU的寄存器位数有关。
字长越长,数的表示范围越大,精度也越高。
存储容量包括主存容量和辅存容量。
主存容量通常以字节为单位,辅存容量通常以位为单位。
存储容量越大,系统能存储的信息就越多。
运算速度用每秒钟所能执行的指令条数来表示,单位通常用MIPS(百万条指令/秒)。
运算速度越快,系统处理任务的能力越强。
02数字逻辑基础Part数制与编码数制的基本概念介绍二进制、十进制、十六进制等数制的基本概念及转换方法。
编码方式详细阐述原码、反码、补码等编码方式及其在计算机中的应用。
数的定点与浮点表示解释定点数与浮点数的表示方法,包括整数和实数的表示。
1 2 3引入逻辑变量和逻辑函数的概念,为后续的逻辑运算打下基础。
计算机组成原理课件
解决: 解决:浮点数的规格化
15:03 5
§2.3 机器数的定点与浮点表示
2. 浮点数的规格化
当尾数的值不为0 当尾数的值不为0时,其绝对值应大于等于0.5,即|M|≥0.5。 其绝对值应大于等于0.5, |M|≥0.5。 大于等于0.5 而尾数又为定点小数,即|M|<1,故0.5≤|M|<1。 而尾数又为定点小数, |M|< 0.5≤|M|< 如:[1011.1101] 原=0,100;0.10111101为规格化浮点数 , ; 为规格化浮点数 而[1011.1101] 原=0,110;0.0010111101非规格化 , ; 非规格化 ------必须通过左移尾数并同时修改阶码使其变为规格化的浮点 必须通过左移尾数并同时修改阶码使其变为规格化的浮点 这种操作被称为浮点数的规格化处理。 浮点数的规格化处理 数,这种操作被称为浮点数的规格化处理。 要满足0.5≤|M| 0.5≤|M|< 要满足0.5≤|M|<1, 原码表示:尾数最高位为1 =0.1或 原码表示:尾数最高位为1,即Ms.M1 =0.1或 Ms.M1 =1.1 补码表示:正数:尾数最高位为1 补码表示:正数:尾数最高位为1,即Ms.M1 =0.1 负数:尾数最高位为0 负数:尾数最高位为0,即Ms.M1 =1.0 符号位与第一数值位相异
15:03 8
§2.3 机器数的定点与浮点表示
4.浮点数的表示范围
尾数部分给出有效数字的位数, 尾数部分给出有效数字的位数,决定了浮点数的表示 部分给出有效数字的位数 精度,尾数占的位数越大,浮点数的表示精度就越高; 精度,尾数占的位数越大,浮点数的表示精度就越高; 阶码部分指明小数点在数据中的位置, 阶码部分指明小数点在数据中的位置,决定了浮点 数的表示范围 阶码占的位数越大, 表示范围, 数的表示范围,阶码占的位数越大,浮点数的表示范围 就越大; 就越大; 通常希望数据表示的范围越大越好、精度越高越好, 通常希望数据表示的范围越大越好、精度越高越好, 但是由于计算机的存储字长是一定的,不能两者兼顾。 但是由于计算机的存储字长是一定的,不能两者兼顾。
计算机组成原理(本全)ppt课件
定点数的加减法实现
通过硬件电路实现定点数的加减法,包括加 法器、减法器等。
浮点数的加减运算
浮点数的表示方法
包括IEEE 754标准中浮点数的表示方法、规格化表示 和精度。
浮点数的加减法规则
包括阶码和尾数的运算规则、对阶操作、尾数加减运 算和结果规格化等。
浮点数的加减法实现
通过硬件电路实现浮点数的加减法,包括浮点加法器 、浮点减法器等。
指令的执行过程与周期
指令执行过程
取指、译码、执行、访存、写回等阶段 。
VS
指令周期
完成一条指令所需的时间,包括取指周期 、间址周期、执行周期等。
07
中央处理器(CPU)
CPU的功能与组成
控制器
负责指令的取指、译码和执行,控制 数据和指令在CPU内部的流动。
运算器
执行算术和逻辑运算,包括加、减、 乘、除、与、或、非等操作。
多核处理器与并行计算
多核处理器
将多个处理器核心集成在一个芯片上,每个核心可以独立执行指令,提高处理器的并行 处理能力。
并行计算
利用多核处理器或多个处理器同时处理多个任务或数据,加速计算过程,提高计算效率 。
08
输入输出系统
I/O接口与I/O设备
I/O接口的功能
实现主机与外设之间的信息交换,包括数据 缓冲、信号转换、设备选择等。
乘法与除法运算
浮点数的乘除法运算
包括浮点数的乘法、除法和平方根运算等。
定点数的乘除法运算
包括原码一位乘法、补码一位乘法、原码除 法和补码除法等。
乘除法运算的实现
通过硬件组成与设计
运算器的基本组成
包括算术逻辑单元(ALU)、寄存器组、数据总线等。
运算器的设计原则
计算机组成原理第12-浮点数的运算2
CK=TL/TK=(n·k)/(k+(n-1)) 当 n>>k 时, Ck->k 。这就是说,理论上k级线性流水线处理几乎 可以提高k倍速度。但实际上由于存储器冲突、数据相关,这个理想的加速比不一定能 达到。
[解:] (1)加法器的流水线时钟周期至少为 τ=90ns+10ns=100ns
如果采用同样的逻辑电路,但不是流水线方式,则浮点加法所需的时间为 τ1+τ2+τ3+τ4 =300ns
因此,4级流水线加法器的加速比为 Ck=300/100=3
(2) 当每个过程段的时间都是75ns时,加速比为 Ck=300/75=4
[例30] 已知计算一维向量x,y的求和表达式如下:
x
y
z
56
65
20.5
14.6
0
336
121 35.1 336
114.3 + 7.2 = 121.5
69.6
72.8
142.4
3.14
1.41
4.55
试用4段的浮点加法流水线来实现一维向量的求和运算,这4段流水线是阶码比较、 对阶操作、尾数相加、规格化。只要求画出向量加法计算流水时空图。
2.CPU之内的浮点运算器
奔腾CPU将浮点运算器包含在芯片内。浮点运算部件采用流水线设计。
指令执行过程分为8段流水线。前4 段为指令预取(DF)、指令译码(D1)、地址生 成(D2)、取操作数(EX),在U、V流水线中完成;后4段为执行1(X1)、执行2(X2) 、结果写回寄存器堆(WF)、错误报告(ER),在浮点运算器中完成。一般情况下 ,由U流水线完成一条浮点数操作指令。
计算机组成原理第4章浮点数运算方法ppt课件
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,则可进行乘法运 算。
相乘:两个浮点数的尾数相乘可以采用定 点小数的任何一种乘法运算来完成。
规格化:相乘结果可能要进行左规,左规 时调整阶码后如果发生阶下溢,则作机器 零处理;如果发生阶上溢,则作溢出处理。
计算机组成原理计算机的运算方法(共56张PPT)精选全文
10 0001 0000
0000
0001
……
……
1001
1010
0
00110000
1
00110001
……
9
00111001
A
16 0001 0110
1111
F
由于ASCII码低四位与BCD码相同,转换方便。 ASCII码左移四位得BCD码, BCD码前加0011得ASCII码。
一般采用二进制运算的计算机中不采用BCD码,矫正不方便。 商用计算机中采用BCD码,专门设置有十进制运算电路。
八进制数与十六进制数之间,可将二进制数作为中介进行转换。
、数值的处理(数制转换)
3) BCD码(十进制):P214-215
如果计算机以二进制进行运算和处理时,只要在输入输出处理时进
行二 / 十进制转换即可。
但在商业统计中,二 / 十进制转换存在两个问题:
(1)转换占用实际运算很大的时间; (2)十进制的,无法用二进制精确表示;
例:将(0. 1)10转换成二进制数 ( 要求5位有效位) 。
结果
0.1×2
最高位 0 .2×2
… 0 .4×2
0 .8×2
1 .6×2
1 .2×2
0 .4×2
直到乘积的小数部分为0,
或结果已满足所需精度要求为止.
0 .8×2
最低位 1 .6000
可能永远乘不完,小数部分不为0, 意味存在一点误差。
2 105
余数
结果
2 52
1
2 26
0
2 13
0
26
1
23
0
21
1
0
1
直到商等于0为止
计算机组成原理第11-浮点数的运算1
x±y=(Mx2Ex-Ey±My)2Ey, Ex<=Ey
12/31/2023
信 息 科 学 与 工 程 学 院1
两数首先均为规格化数,进行规格化浮点数的加减运 算需经过5步完成: (1)对阶操作:低阶向高阶补齐,使阶码相等。 (2)尾数运算:阶码对齐后直接对尾数运算。 (3)结果规格化:对运算结果进行规格化处理(使补码尾 数的最高位和尾数符号相反)。如溢出则需右规;如不是 规格化时应左规。 (4)舍入操作:丢失位进行0舍1入或恒置1处理。 (5)判断溢出:判断阶码是否溢出,下溢则将运算结果置 0(机器0),上溢则中断。
14 12/31/2023
信 息 科 学 与 工 程 学 1院4
第二章 运算方法和运算器
2、乘、除法运算步骤 浮点数的乘除运算大体分为以下几个步骤:
1> 0 操作数检查。 2> 阶码加/减操作。 3> 尾数乘/除操作。 4> 结果规格化 5> 舍入处理。
15 12/31/2023
信 息 科 学 与 工 程 学 1院5
18 12/31/2023
信 息 科 学 与 工 程 学 1院8
第二章 运算方法和运算器
当尾数用原码表示时,舍入规则比较简单。最简便的方法,是只要尾数的最低位 为1,或移出的几位中有为1的数值位,就是最低位的值为1。 另一种是0舍1入法,即当丢失的最高位的值为1时,把这个1加到最低数值位上进 行修正,否则舍去丢失的的各位的值。 当尾数是用补码表示时,所用的舍入规则,应该与用原码表示时产生相同的处理 效果。 具体规则是:
(4) 右规
当 尾数溢出( >1)时,需 右规 即尾数出现 01. ×× …×或 10. ×× …×时
尾数 1,阶码加 1
12/31/2023
计算机组成原理浮点数运算
计算机组成原理浮点数运算
在计算机组成原理中,浮点数的运算涉及到数值的表示、加减运算等多个方面。
以下是浮点数运算的基本过程:
1. 对阶:在进行浮点数运算时,需要先对参与运算的浮点数的阶码进行对齐,即比较两个阶码的大小,将阶码较小的数向右移动,使得两个数的阶码相等。
2. 尾数运算:对阶完成后,进行尾数的加减运算。
尾数通常使用补码表示,加减运算规则与定点数的补码加减运算规则相同。
3. 结果格式化:根据尾数运算结果的符号和数值大小,确定最终结果的格式。
如果尾数的结果为正,则结果的格式与源码相同;如果尾数的结果为负,则结果的格式与补码相同。
浮点数的范围和精度由阶码和尾数的位数决定。
阶码的位数能够决定数的范围,尾数的位数决定数的有效精度。
在实际应用中,需要根据具体需求选择合适的浮点数表示方式和运算方法。
浮点数加减运算
出等步骤。设浮点数的阶码和尾数均采用补码表示,且位数分别为5位和7
位(均含2位符号位)。若有两个数X=27×29/32,Y=25×5/8,则用浮点
加法计算X+Y的最终结果是:
A.00111 1100010 B. 00111 0100010 C.01000 0010001 D. 发生溢出 解题思路: • X= 2 00111 × 0.11101; Y = 2 00101 × 0.101 ;对阶后大的阶码为00111 • 位数相加后的结果为:01.00010, • 尾数需右移规格化,同时阶码加1后变成 01 000
[X+ Y]补= 00 011 ,11 . 000101011
4) 舍入 ( 0 舍 1入)
在结果尾数的最低位加1,最后的结果为: [X+ Y]补= 00 011 ,11 . 00010110 X+Y = – 0.11101010 2 011
第三章 3.7 浮点数加减运算
4
浮点数加减运算举例
例2 浮点数加减运算过程一般包括对阶、尾数运算、规格化、舍入和判溢
第三章 3.7 浮点数加减运算
4
浮点数加减运算举例
例 设 x = 2 010 × 0.11011011 y = 2 100 × (- 0.10101100) 求 x+y
2)尾数运算 00.00110110 11 + 11.01010100 11.1000101011 3) 尾数规格化处理
分析发现,只左移一次即可达到规格化要求。规格化后的结果为:
计算机组成原理
第三章 运算方法与运算器
3.7 浮点数加减运算
第三章 3.7 浮点数加减运算
1
规格化浮点数的概念
计算机组成原理ppt课件
常见输入输出接口类型和特点比较
要点一
常见输入输出接口类型
要点二
特点比较
常见的输入输出接口类型包括PS/2接口、USB接口、HDMI 接口、DisplayPort接口、SATA接口等。
不同的输入输出接口类型具有不同的特点,如传输速度、支 持热插拔、连接方式等。例如,USB接口支持热插拔和即插 即用,而SATA接口则主要用于连接硬盘和光驱等存储设备。
定点数表示与运算方法
定点数表示方法
阐述定点数的表示方法,包括符号位、 数值位等,并介绍定点数的范围及精 度。
定点数加减运算
详细讲解定点数的加减运算方法,包 括补码加减运算等。
定点数乘除运算
介绍定点数的乘除运算方法,包括原 码乘除、补码乘除等算法。
定点数运算器的设计
阐述定点数运算器的设计原理和实现 方法,包括加法器、减法器、乘法器 和除法器等。
当中断发生时,计算机首先保存当前程序的执行状态,然后转去执行中断处理程序。中断处理程序执行完毕 后,计算机再返回原程序继续执行。这个过程需要由计算机的操作系统来管理和控制。
THANK YOU
指令系统设计原则和优化策略
有效性原则
指令系统应能有效地支持高级 语言的实现,提高程序执行效 率。
兼容性原则
新设计的指令系统应尽可能与 已有的指令系统保持兼容。
完备性原则
指令系统应满足程序设计的各 种需求,具备完备性。
规整性原则
指令系统应尽可能规整,简化 硬件实现和软件编程。
优化策略
采用流水线技术、超标量技术、 乱序执行技术等优化策略,提 高指令执行速度和效率。
高速缓冲存储器(Cache)原理及应用
Cache原理
Cache是一种高速缓冲存储器,它位于CPU和内存之间,用于存储CPU最近访问过的数 据和指令。通过Cache技术,可以提高CPU访问内存的效率和速度。
计算机浮点运算详解深入学习计算机组成原理
深入剖析浮点运算性能优化
04
策略
减少不必要的数据转换和传输延迟
数据重用
避免不必要的数据类型转换
尽量保持数据在运算过程中的类型一致,避免频繁 进行数据类型转换,以减少转换带来的性能开销。
通过缓存最近使用过的数据,减少从主存中 加载数据的次数,从而降低数据传输延迟。
优化数据布局
合理安排数据在内存中的布局,使得访问局 部性更好,减少缓存失效和页面换入换出的 次数。
性能问题
浮点运算通常比整数运算更复杂,需要更多的CPU周期和内存带宽。这可能导致性能瓶颈,特别是在需要大量浮点运 算的应用中。
兼容性问题
不同的计算机系统和编程语言可能采用不同的浮点表示方法和运算规则,这可能导致兼容性问题。例如, 一个系统上的计算结果可能在另一个系统上无法重现。
未来发展趋势预测及建议
• 精度提升:随着计算机硬件和算法的不断进步,未来浮点运算的精度将得到进 一步提升。例如,采用更高精度的浮点数表示方法和更精确的运算算法。
• 性能优化:为了提高浮点运算的性能,未来可能会采用更高效的硬件设计、并 行计算技术和优化算法。例如,利用GPU和TPU等专用硬件加速浮点运算, 以及采用分布式计算等技术提高大规模浮点运算的效率。
进行实验和编程实践
通过编写程序和使用相关工具 进行实验,加深对浮点数运算 的理解和掌握程度。
THANKS
感谢观看
数值积分与微分
利用浮点运算进行数值积分和微 分,可以求解函数的定积分、不 定积分、导数等。
图形图像处理领域应用
01
3D图形变换
02
03
图像滤波与处理
计算机视觉
在3D图形处理中,浮点运算用于 实现各种复杂的图形变换,如旋 转、缩放、平移等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
浮点数表示及运算
计算机组成原理
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)
m :尾数,是一个纯小数。 e :浮点的指数, 是一个整数。
浮点数的表示范围 负下溢 正下溢
负上溢
正上溢
-
最
负数 最
0
正数
最
最
+
小
大
小
大
负
负
正
正
数
数
数
数
N=2E×M
|N|→∞ 产生正上溢或者负上溢
|N|→0 产生正下溢或者负下溢
计算机组成原理
3
机器字长一定时,阶码越长,表示范围越大,精度越低 浮点数表示范围比定点数大,精度高
8位定点小数可表示的范围
0.0000001 --- 0.1111111
1/128 --- 127/128
设阶码2位,尾数4位 可表示2-11*0.0001 --- 211*0.1111
0.0000001 --- 111.1
设阶码3位,尾数3位 可表示2-111*0.001 --- 2111*0.111
0.0000000001 --- 1110000
= 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——阶码,采用“移码”表示(移码可表示阶符);
计算机组成原理
4
二、浮点数规格化
浮点数是数学中实数的子集合,由一个纯小数乘上一个指数 值来组成。
一个浮点数有不同的表示: 0.5; 0.05101 ; 0.005 102 ; 50 10-2
为提高数据的表示精度,需做规格化处理。
在计算机内,其纯小数部分被称为浮点数的尾数,对非 0 值的浮点数,要求尾数的绝对值必须 >= 1/2,即尾数域的最高 有效位应为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是机器数
=(-1)1×(1 + 0.1000 0000 0000 0000 0000 000)×2-1
0.1000101010
把不满足这一表示要求的尾数,变成满足这一要求的尾数 的操作过程,叫作浮点数的规格化处理,通过尾数移位和修改 阶码实现。
计算机组成原理
5
规格化目的: 为了提高数据的表示精度 为了数据表示的唯一性 尾数为R进制的规格化: 绝对值大于或等于1/R
二进制原码的规格化数的表现形式:
正数 0.1xxxxxx 负数 1.1xxxxxx 补码尾数的规格化的表现形式:尾数的最高位与符号位相反。
R :基数,对于二进计数值的机器是一个常数,一般规定R 为2,8或16
E0 E1 E2 … … … Em M0 M1 M2 … … … Mn
阶符
阶值
尾符 尾数值ห้องสมุดไป่ตู้
计算机组成原理
2
一个机器浮点数由阶码和尾数及其符号位组成: 尾数:用定点小数表示,给出有效数字的位数,决定了浮点数的表示精度 阶码:用定点整数形式表示,指明小数点在数据中的位置,决定了浮点数 的表示范围。
Emin=1, Emax=254/2046
计算机组成原理
9
例:若浮点数 x 的二进制存储格式为(41360000)16,求其32位 浮点数的十进制值。
解: 0100,0001,0011,0110,0000,0000,0000,0000 数符:0 阶码:1000,0010 尾数:011,0110,0000,0000,0000,0000
S=0,E=4+127=131=1000,0011,M=010010011 最后得到32位浮点数的二进制存储格式为
0100 0001 1010 0100 1100 0000 0000 0000= (41A4C000)16
计算机组成原理
11
例:将十进制数-0.75表示成单精度的IEEE 754标准代码。 解:-0.75 = -3/4 = -0.112 = -1.1×2-1
正数 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
计算机组成原理
10
例: 将十进制数20.59375转换成32位浮点数的二进制格式来存储。
解:首先分别将整数和分数部分转换成二进制数: 20.59375=10100.10011
然后移动小数点,使其在第1,2位之间 10100.10011=1.010010011×24 e=4
于是得到: e =E – 127
1.隐藏位技术
原码非0值浮点数的尾数数值最高位必定为 1,则在保存浮点数到内存前,
通过尾数左移, 强行把该位去掉, 用同样多的位数能多存一位二进制数, 有利于提高数据表示精度,称这种处理方案使用了隐藏位技术。
当然,在取回这样的浮点数到运算器执行运算时,必须先恢复该隐藏位。
2.阶码用“移码”偏移值127而不是128
指数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