第二章 计算方法和运算器(十三)
《计算机组成原理》教学大纲-信息与计算科学专业
《计算机组成原理》课程教学大纲一、教学大纲说明(一)、课程的地位、作用与任务《计算机组成原理》是信息类计算机应用专业学生必修的公共基础课之一,是一门涉及较多硬件知识的计算机系统软件课程。
在计算机软硬件课程的设置上,它起着承上启下的作用。
其特点是概念多、内容全面、涉及硬件内容,系统性强,其整体实现思想和技术理解有点难度。
(二)、课程的教学目的要求计算机组成原理对建立计算机整体概念,因此本课程的目的是使学生通过本课程的学习,理解计算机系统的基本概念和主要结构,掌握其工作原理,了解它的发展的新技术、新动向,从而为学生以后在各类计算机上从事开发和应用的需要。
掌握:基本概念包括:计算机系统组成及层次结构、运算方法和运算器、存储系统与指令系统、中央处理器、总线系统、外围设备、输入输出系统等。
基本知识:计算机系统的基本结构和工作原理以及有关的新技术。
理解重点:运算器结构、存储系统的管理方法、指令格式、中央处理器的结构和控制、外围设备通信控制方式。
难点:运算方法及运算器、中央处理器、输入输出控制方式。
(三)、课程的教学方法和手段1、本课程概念多、较抽象、涉及面广,因此教学形式以讲授方式为主。
2、为加强和落实动手能力的培养,应充分重视实践性教学环节,配合主教材、辅助教材、CAI、网络教材、试题库、实验教材综合使用,力求形成理论、抽象、设计三过程相统一的课程体系。
3、对关键性概念、整体实现思想方面的问题可辅以课堂讨论的形式。
4、如条件许可,应利用网络技术进行授课、答疑和讨论。
(四)、课程与其它课程的联系先修课为:计算机应用基础、操作系统原理、电子电路基础的知识(五)、教材与教学参考书教材:白中英,《计算机组成原理》(第三版、网络版) ,清华大学出版社,2008年3月二、课程的教学内容、重点和难点1.课程以文字教材为主(包括主教材和实验教材两部分),文字教材担负起形成整个课程体系系统性和完整性的任务,是学生学习的主要媒体形式。
计算机原理第二章运算方法和运算器
算术移位时,符号位保持不变,其 余位进行相应移动。算术左移相当 于乘以2,算术右移相当于除以2并 向下取整。
乘法运算方法
原码一位乘法
将被乘数和乘数均取原码,从乘数的最低位开始逐位判断,若为1则加上被乘 数的原码,若为0则不变。重复此过程直至乘数所有位均判断完毕。
补码一位乘法
将被乘数和乘数均取补码,从乘数的最低位开始逐位判断,若为1则加上被乘数 的补码并考虑进位,若为0则只考虑进位。重复此过程直至乘数所有位均判断完 毕。
节能技术
采用节能技术,如动态电压调整、睡眠模式等, 以降低运算器在空闲或低负载时的功耗。
06
计算机中数的表示和运算 方法扩展
大数表示和运算方法
大数的概念
超出计算机基本数据类型表示范围的整数或浮点数。
大数表示方法
采用多精度表示法,将大数拆分成多个基本数据类型的数进行表示 和存储。
大数运算方法
设计相应的大数运算算法,如大数加法、减法、乘法、除法等。
转换方法
根据机器数的表示方法,通过相应的运算将其转换为真值。
定点数与浮点数
定点数
表示范围与精度
小数点位置固定的数,可表示整数或 小数。
定点数表示范围有限,精度较高;浮 点数表示范围大,但精度相对较低。
浮点数
小数点位置可变的数,由阶码和尾数 两部分组成,可表示大范围的数值。
02
基本运算方法
定点加减法运算
运算流水线设计
在算术逻辑单元(ALU)中采用流 水线技术,将复杂的运算过程分解 为多个简单的运算步骤,提高运算 速度。
超标量流水线设计
在一个周期内同时发射多条指令, 通过多个功能部件并行执行,进一 步提高处理器的性能。
第二章运算方法和运算器PPT课件
▪ 尾数域最左位(最高有效位)总是1, 故这一位经常不予存储, 而认为隐藏在小数点的左边。
▪ 采用移码表示阶码E ,将浮点数的指数真值e变成阶码E时, 应将指数e加上一个固定的偏移值127(01111111),即 E=e+127。
29.01.2021
-
14
2.1.1数据格式
第二章 运算方法和运算器
2.1数据与文字的表示 2.2定点加法、减法运算 2.3定点乘法运算 2.4定点除法运算 2.5定点运算器的组成 2.6浮点运算与浮点运算器
29.01.2021
-
返回 1
2.1数据与文字的表示方法
2.1.1数据格式 2.1.2数的机器码表示 2.1.3字符的表示 2.1.4汉字的表示 2.1.5校验码
S 阶码(8位)
尾数(23位)
指数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
29.01.2021
-
9
2.1.1数据格式
3、定点纯整数
x0 x1 x2 x3 … xn-1 xn
符号
量值
小数点固定于最后一位之后, 不需专门存放位置
表示数的范围是 0≤|x|≤2n-1
最小数、最大数、最接近0的正数、最接近0的负数呢?
29.01.2021
-
10
2.1.1数据格式
4、定点表示法的特点
29.01.2021
计算机组成原理第四版第二章
+ [y]补 0. 0 1 0 1 [x+y]补 0. 1 1 1 0
所以x+y=+0.1110
Back
第二章 运算方法和运算器
B 补码减法
➢ 公式:
[x-y]补=[x]补-[y]补=[x]补+[-y]补
➢ 举例
已知 x=+0.1101 , y=+0.0110,求x-y。 解: [x]补=0.1101 [y]补=0.0110 ,[-y]补=1.1010 [x]补 0. 1 1 0 1 + [-y]补 1. 1 0 1 0 [x-y]补 1 0. 0 1 1 1
最大正数,称为“上溢” 或“正溢出”
两个负数相加,结果 小于机器所能表示的最
小负数,称为“下溢” 或“负溢出”
判断方法
举例说明
Back
第二章 运算方法和运算器
溢出检测方法常用以下两种方法:
1.采用双符号位(变形补码)判断方法:
变形补码: “00”表示正数、“11”表负数,两符号位同时参加运算, 运算结果符号出现01或10表明溢出。
发生溢出;而在浮点运算时,运算结果超出尾数的表示范围 却并不一定溢出,只有当阶码也超出所能表示的范围时,才 发生溢出。
Back
3.十进制数串的表示方法
➢ 目前,大多数通用性较强的计算机都能直接 处理十进制形式表示的数据。十进制数串 在计算机内主要有两种表示形式:
➢ 1.字符串形式 ➢ 2.压缩的十进制数串形式
➢ 计算机采用定点数表示时,对于既有整数又有小数的原始数据,需要设 定一个比例因子,数据按其缩小成定点小数或扩大成定点整数再参加运 算,运算结果,根据比例因子,还原成实际数值。若比例因子选择不当, 往往会使运算结果产生溢出或降低数据的有效精度。
华南理工2017【计算机组成原理】随堂练习
9.设寄存器内容为11111111,若它等于+127,则机器码为()表示。
A、原码B、补码C、反码D、移码
参考答案:D
10.8位原码能表示的不同数据有()个。
A、15 B、16 C、255 D、256
参考答案:C
11.下列关于奇偶校验码错误的描述是()。
A、只能发现奇数位错B、无纠错能力
参考答案:C
4.在机器数的四种表示方法中,()对0的表示有两种形式。
A、原码和反码B、原码和补码C、反码和补码D、补码和移码
参考答案:A
5.n位定点补码表示的最大值是()。
A、2的n次方B、2的n次方-1 C、2的n-1次方D、2的n-1次方再-1
参考答案:B
6.将用8位二进制补码表示的十进制数-121,扩展成16位二进制补码,结果用十六进制表示为()。
参考答案:B
3.在指令格式中采用扩展码设计方案是为了()。
A、减少指令字长度B、增加指令字长度C、保持指令字长度不变而增加指令操作的数量
D、保持指令字长度不变而增加寻址空间
参考答案:C
4.某计算机存储器按字(16位)编址,每取出一条指令后PC值自动加1,说明其指令长度是()。
A、1个字节B、2个字节C、3个字节D、4个字节
A、原码B、补码和移码C、补码D、补码和反码
参考答案:B
2.二进制数-101101B的补码是()。
A、11001011B B、11010011B C、11010110B D、11110111B
参考答案:B
3.在补码表示的机器中若寄存器A中存放数9EH,经过一次()运算它可以变为CFH。
A、算术左移B、逻辑左移C、算术右移D、逻辑右移
计算机原理第二章运算方法和运算器
1. 整数转换 →
2 58 2 29 2 14 27 23 21 0
“ 除2 取余” 法
余0 余1 余0 余1 余1 余1
∴ (58)10=(111010)2
低位 高位
2. 纯小数转换 → “乘 2 取整 ” 法
0. 6 2 5
×
2
1. 2 5 0
1
×
2
0. 5 0 0
0
×
2
1. 0 0 0
1
∴ (0.625)10=(0.101)2
补码浮点表示
阶码 绝对值最大负数: 01111111
绝对值最小负数: 10000000
最大正数:
01111111
尾数 10000000
11111111
01111111
真值
2(27 1) .(-1) =-2127 2-27.(-2-7)=-2-135
2(27 1) .(1-2-7)
非零最小正数: 10000000
X=-0.1001111 ,则〔X〕原=1.1001111, 〔X〕反=1.0110000。
公式表示:若二进制小数 X=±0.x1x2…xn,则
〔X〕反=
X (2-2-n)+X
0 X 1 1 X 0
其中n代表二进制位数
〔例2〕X=+0.1101111,则〔X〕反=X=0.1101111 X=-0.1101111,则〔X〕反=(2-2-7)+X =10.0000000-0.0000001+(-0.1101111) =1.1111111-0.1101111=1.0010000
n1
a i 8 i im
〔例2〕 ( 703.64 )8 7 82 081 380 681 482 ( 451.8125 )10
经典:计算机组成原理-第2章-运算方法和运算器
第二章:运算方法和运算器
2.1 数据与文字的表示方法 2.2 定点加法、减法运算 2.3 定点乘法运算 2.4 定点除法运算 2.5 定点运算器的组成 2.6 浮点运算方法和浮点运算器
其中尾数域所表示的值是1.M。因为规格化的浮点数的尾数域最
左位(最高有效位)总是1。故这一位经常不予存储,而认为隐藏
在小数点的左边。
64位的浮点数中符号位1位,阶码域11位,尾数域52位,指数偏
移值是1023。因此规格化的64位浮点数x的真值为:
x=(-1)s ×(1.M) × 2E-1023 e=E-1023
[X]反=1.x1x2...xn 对于0,有[+0]反=[-0]反之分:
[+0]反=0.00...0
[-0]反=1.11...1
我们比较反码与补码的公式
[X]反=2-2-n+X
[X]补=2+X
可得到 [X]补=[X]反+2-n
8
若要一个负数变补码,其方法是符号位置1,其余各位0变1,1变 0,然后在最末位(2-n)上加1。
10100.10011=1.010010011*24 e=4 于是得到:S=0,E=4+127=131=10000011, M=010010011 最后得到32位浮点数的二进制存储格式为: 0100 0001 1010 0100 1100 0000 0000 0000=(41A4C000)164
第2章运算方法与运算器-资料
X [X]补 =
0≤X≤ 1-2-n
2+X =2-|x| -1 ≤X≤ 0
例如,若x1=+0.1011 x2=-0.1011, 字长为8b,则
其补补[x1码码]补分的=0别.零10为1只10:0有0 一个,即0.0000000。 补[x2码]补1=2.0-000.1001010000表=1示.01负010100
• 因为16=24,8=23 • 二进制数与八进制数之间的转换方法: • 整数部分从最低有效位开始,每三位二进制数
对应一位八进制数,不足三位高位补“0”。 • 小数部分从最高有效位开始,每三位二进制数
对应一位八进制数,不足三位,低位补“0”。 • 二进制与十六进制数间的转换方法: • 整数部分从最低有效位开始,每四位二进制数
负数,对[ [x]补]补= [x]原
原码求真值:[x]原符号位0→+,1 →-。
• 对补码进行运算,可将加、减运算统一成加法运 算,降低了对计算机运算器的要求,因此得到广 泛的应用。
INFO DEPT@ZUFE HANGZHOU.CHINA
(3)反码表示法
• 对于正数来说,反码=原码=补码。 • 对于负数来说,
INFO DEPT@ZUFE HANGZHOU.CHINA
11
• 小数部分
•
0.8125
×
2
1.6250
×
2
1.2500
×
2
0.5000
×
2
1.0000
• (0.8125)10=(0.1101)2 • (233.8125)10=(11101001.1101)2
INFO DEPT@ZUFE HANGZHOU.CHINA
第二章运算方法与运算器
3
2.1数据与文字的表示方法
计算机数字和字符的表示方法应有利于 数据的存储、加工(处理)、传送; 编码:用少量、简单的基本符号,选择 合适的规则表示尽量多的信息,同时利 于信息处理(速度、方便) 计算机在数据、文字的表示方式时,应 该考虑一下几个因素:
n1
n2
0 1 2
Nm K m K ...mKmK mK ..
n1
n2
0 1 2
K(基数):最大进位数。 K i:位权。
m(系数):每个数位上的值,取值范围0~k-1
【例】343.43= 3×102+4×101+3×100+4×10-1+3×10-2
位权 位权 位权 位权 位权
16
2.1 数据与文字的表示方法
数的机器码表示 无符号数:正整数。 带符号数:正数或负数。 真值: 带“+”、“–”的数值本身。 例:+0.01、-1000 机器数(机器码):最高位为符号位, “0”表示“+”,“1”表示“–”。 原码 反码 补码
17
2.1 数据与文字的表示方法
12
2.1 数据与文字的表示方法
常用数制
十进制 二进制 八进制 十六进制 K进制
基数 10
2
8
16
K
进位 逢10进1 逢2进1 逢8进1 逢16进1 逢K进1
可用 数码
0~9
01
0123
0~9 ABC
4567 DEF
0~K-1
小数点右移(数据左移)n 位
相当于乘以K n(增加K n 倍)
小数点左移(数据右移)n 位
[+ 0]补= [–0]补= 00000000
中国矿业大学(北京)计算机辅修专业《计算机组成与结构》试题
课程总复习第一章计算机系统概论1 计算机的分类电子计算机从总体上来说分为两大类:电子模拟计算机和电子数字计算机。
电子模拟计算机的特点是数值由连续量来表示,运算过程也是连续的。
电子数字计算机的主要特点是按位运算,并且不连续地跳动计算。
数字计算机与模拟计算机的主要区别见表1.1:表1.1 数字计算机与模拟计算计的主要区别2 计算机系统结构与性能之间的关系分为巨型机、大型机、中型机、小型机、微型机、单片机六类,其结构复杂性、性能、价格、依次递减。
3 计算机的硬件组成一般结构由:运算器+存储器+控制器+适配器与输入/输出设备等构成。
应掌握各部分的主要功能。
[指令与程序的基本概念]:1)指令的形式指令的内容由两部分组成,即操作的性质和操作的地址。
前者称为操作码,2)存储程序的思想(冯.诺依曼结构计算机原理)/执行的操作,完成既定的任务。
非冯.诺依曼结构计算机则是指:脱离“存储程序”控制的模式,完成计算机功能。
3)指令流和数据流概念指令和数据统统放在内存中,从形式上看,它们都是二进制数码。
一般来讲,在取指周期中从内存读出的信息是指令流,它流向控制器;而执行周期中从内存读出的信息流是数据流,它由内存流向运算器。
适配器与输入设备、计算机的系统结构发展发展趋势(自阅)4 计算机的软件[软件的组成和分类]计算机软件一般分为两大类:一类叫系统程序,一类叫应用程序。
系统程序用来简化程序设计,简化使用方法,提高计算机的使用效率,发挥和扩大计算机的功能及用途。
应用程序是用户利用计算机来解决某些问题所编制的程序,如工程设计程序、数据处理程序、自动控制程序、企业管理程序、情报检索程序、科学计算程序等等。
[软件的发展演变]目的程序--汇编程序--源程序--操作系统--数据库管理系统5 计算机系统的层次结构计算机系统多级结构包括:微程序设计级--一般机器级--操作系统级--汇编语言级--高级语言级第二章运算方法与运算器1 数据与文字的表示方法[数据格式 ]计算机中常用的数据表示格式有两种,一是定点格式,二是浮点格式。
第二章运算方法和运算器
第⼆章运算⽅法和运算器第⼆章运算⽅法和运算器⼀、选择题1.在机器数中,(B)的零的表⽰形式是唯⼀的。
A.原码B.补码C.反码D.原码和反码2.计算机系统中采⽤补码运算的⽬的是为了(C)。
A.与⼿⼯运算⽅式保持⼀致B.提⾼运算速度C.简化计算机的设计D.提⾼运算的精度3.假定下列字符码中有奇偶校验位,但没有数据错误,采⽤偶校验的字符码是(D)。
A.11001011B.11010110C.11000001D.110010014.若某数X的真值为-0.1010,在计算机中该数表⽰为1.0110,则该数所⽤的编码⽅法是(B)码。
A.原B.补C.反D.移5.在浮点数原码运算时,判定结果为规格化数的条件是(D)。
A.阶的符号位与尾数的符号位不同B.尾数的符号位与最⾼数值位相同C.尾数的符号位与最⾼数值位不同D.尾数的最⾼数值位为16.运算器虽有许多部件组成,但核⼼部分是(B)。
A.数据总线B.算术逻辑运算单元C.多路开关D.通⽤寄存器7.下列说法中正确的是(C)。
A.采⽤变形补码进⾏加减法运算可以避免溢出B.只有定点数运算才有可能溢出,浮点数运算不会产⽣溢出C.只有带符号数的运算才有可能产⽣溢出D.只有将两个正数相加时才有可能产⽣溢出8.下溢指的是(B)。
A.运算结果的绝对值⼩于机器所能表⽰的最⼩绝对值B.运算的结果⼩于机器所能表⽰的最⼩负数C.运算的结果⼩于机器所能表⽰的最⼩正数D.运算结果的最低有效位产⽣的错误⼆、填空题1.⼀个定点数由(符号位)和(数值域)两部分组成。
根据⼩数点的位置不同,定点数有(纯⼩数)和(纯整数)两种表⽰⽅法。
2.按IEEE754标准,⼀个浮点数由(符号位)S、阶码E,尾数M三个域组成。
其中阶码E的值等于指数的(真值e)加上⼀个固定的(偏移值)。
3.对阶时,使(⼩)阶向(⼤)阶看齐,使⼩阶的尾数向(右)移位,每(右)移⼀位,其阶码加1,直到两数的阶码相等为⽌。
4.现代计算机的运算器⼀般通过总线结构来组织.按其总线数不同,⼤体有(单总线结构),(双总线结构)和(三总线结构)三种形式。
第二章运算方法与运算器(浮点数的加减法,IEEE754标准3264浮点规格化数)
第⼆章运算⽅法与运算器(浮点数的加减法,IEEE754标准3264浮点规格化数)这⼀章,主要介绍了好多种计算⽅法。
下⾯,写⼀点⾃⼰对于有些计算(⼿写计算过程)的见解。
1.原码、反码、补码 原码:相信⼤家都会写,符号位在前⼆进制数值在后,凑够位数即可。
反码:原码符号位不变,其他位全部取反。
补码:反码末位加⼀ / 原码符号位不变,从右往左数第⼀个1及其右边的各位不变,其余位全部取反2.IEEE754的转换 IEEE754标准32/64浮点规格化数形式:X = (-1)S * 1.M * 2E-127(其中,S-阶符,M-尾数,E-阶码) 32位的规格化浮点数:SEM00000...(即⼆进制SEM后⾯补0,写够32位) 以27/64为例: ①化形式:27/64 = + (1.1011)2 * 2-2 ②找SEM:S=0,M=1011,E=(125)10=(01111101)2 ③写结果:00111110 11011000 00000000 00000000 = (3ED800)163.变形补码计算加减法 变形补码没什么稀奇,不过是符号位变成两位⽽已(00为正,11为负),它的价值在于可以作溢出判断(结果00//11表⽰未溢出,01-上溢(所谓上溢符号位还是0),11-下溢(下溢符号位还是1)),就正常求补码(符号位double),放在⼀起加和,做溢出判断,最后别忘了把补码再转换回原码作为最终结果。
x+y: 以x=11011, y=00011为例: ①求补:[11011]补=0011011, [00011]补=0000011 ②加和:011011 + 000011 = 0011110;符号位00,未溢出,故x+y=11110 x-y:(这⾥把减法化为加法,即 x-y = x+(-y),另外[-y]补 = [y]补 从右往左数第⼀个1及其右边的各位不变,其余位全部取反,这次连带符号位也要取反) 以x=11011, y=-11111为例: ①求补:[11011]补=0011011, [-11111]补=1100001,[-y]补=0011111 ②加和:[x]补+[-y]补 = 0011011 + 0011111 = 0111010;符号位01,正溢(上溢);故x-y=+1110104.浮点数加减法(我⽤的是补码计算) 这⾥⾯涉及的东西⽐较多,每⼀步都需要仔细,错⼀步结果就错了。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
四川警安职业学院标准教案纸
课程名称计算机组成原理(第十七讲)任课教师陈平授课时间地点多媒体授课班级人数
教学目标1.掌握浮点数的加法和减法运算规则
2.掌握对价方法及原理
3.掌握浮点数规格化及舍入处理
教学重点1.浮点数的运算规则
2.对价方法
教学难点 1.浮点数的规格化和舍入处理
教学时数2节教学方法讲授法、演示法、实践操作法教学手段多媒体教学
教学内容:
第二章计算方法和运算器(十三)
2.7.1浮点加法和减法
设有两个浮点数x和y,它们分别为:
x=2Ex·Mx
y=2Ey·My
两浮点数进行加法和减法的运算规则是
x±y=(Mx2Ex-Ey±My)2Ey,Ex<=Ey
其中,Ex、Ey分别为x、y的阶码,Sx、Sy分别为的尾数。
完成浮点加减运算的操作过程大体分为四步:
1.0操作数的检查;
2.比较阶码大小并完成对阶;
3.尾数进行加或减运算;
4.结果规格化并进行舍入处理。
1.0操作数检查
浮点加减运算过程比定点运算过程复杂。
如果判知两个操作数x或y中有一个数为0,即可得知运算结果而没有必要再进行后续的一系列操作,以节省时间。
0操作数检查步骤则用来完成这一功能。
2.对阶
两浮点数进行加减,首先要看两数的阶码是否相同,即小数点位置是否对齐。
若两数阶码相同,表示小数点是对齐的,就可以进行尾数的加减运算。
反之,若两数阶码不同,表示小数点位置没有对齐,此时必须使两数的阶码相同,这个过程叫做对阶。
要对阶,首先应求出两数阶码E x和E y之差,即:
△x=E x-E y
若E x=E y,表示两数阶码相等,不需改变两数的阶码;若E x≠E y,要通过尾数的移位以改变E x或E y,使之相等。
由于浮点表示的数多是规格化的,尾数左移会引起最高有产位的丢失,造成很大误差;而尾数右移虽引起最低有效位的丢失,但造成的误差较小,因此,对阶操作规定使尾数右移,尾数右移后使阶码作相应增加,其数值保持不变。
很显然,一个增加后的阶码与另一个相等,所增加的阶码一定是小阶。
因此在对阶时,总是使小阶向大阶看齐,即小阶的尾数向右移位(相当于小数点左移),每右移一位,其阶码加1,直到两数的阶码相等为止,右移的位数等于阶差△E。
3.尾数求和
对阶完毕后就可对尾数求和。
不论是加法运算还是减法运算,都按加法进行操作,其方法与定点加减运算完全一样。
4.规格化
当尾数用二进制表示时,浮点规格化的定义是尾数M应满足:
1/2≤|M|<1
显然对于正数而言,有M=00.1φφ…φ;对于负数,其补码形式为11.0φφ…φ。
这样,当进行补码浮点加减运算时,只要对运算结果的符号位和小数点后的第一位进行比较:如果它们不等,即为00.1φφ…φ或11.1φφ…φ,就是规格化的数;如果它们相等,即为00.0φφ…φ或11.0φφ…φ,就不是规格化的数,在这种情况下需要尾数左移以实现规格化的过程,叫做向左规格化。
规则是:尾数左移1位,阶码减1。
在浮点加减运算时,尾数求和的结果也可以得到01.φφ…φ或10.φφ…φ,即两符号位不相等,在这定点加减运算中称为溢出,是不允许的。
但在浮点运算中,它表明尾数求和结果的绝对值大于1,向左破坏了规格化。
此时将尾数运算结果右移以实现规格化表示,称为向右规格化,即尾数右移1位,阶码加1。
5.舍入
在对阶或向右规格化时,尾数要向右移位,这样,被右移的尾数的低位部分会被丢掉,从而造成一定误差,因此要进行舍入处理。
常用的舍入方法有两种:一种是“0舍1入”法,即如果右移时被丢掉数位的最高位为0则舍去,为1则将尾数的末位加“1”,另一种是“恒置1”,即只要数位被移掉,就在尾数的末位恒置“1”。
6.溢出处理
浮点数的溢出是以其阶码溢出表现出来的。
在加、减运算过程中要检查是否产生了溢出:若阶码正常,加(减)运算正常结束;若阶码溢出,则要进行相应的处理:若阶码下溢,要置运算结果为浮点形式的机器0;若阶码上溢,则置溢出标志。
【例】设x=2010×0.11011011,y=2100×(-0.10101100),求x+y。
[解:]
为了便于直观理解,假设两数均以补码表示,阶码采用双符号位,尾数采用单符号位,则它们的浮点表示分别为
[x]浮=00010,0.11011011
[y]浮=00100, 1.01010100
<1>求阶差并对阶
△E=Ex-Ey=[Ex]补+[-Ey]补=00010+11100=11110
即△E为-2,x的阶码小,应使Mx右移两位,Ex加2,
[x]浮=00100,0.00110110(11)
其中(11)表示Mx右移2位后移出的最低两位数。
<2>尾数求和
0.00110110(11)
+ 1.01010100
1.10001010(11)
<3>规格化处理
尾数运算结果的符号位与最高数值位同值,应执行左规处理,结果为1.00010101(10),阶码为00011。
<4>舍入处理
采用0舍1入法处理,则有
1.00010101
+1
────────────────
1.00010110
<5>判溢出
阶码符号位为00,不溢出,故得最终结果为
x+y=2011×(-0.11101010)
P70 2.9题作业
教学反馈。