书签 分享 收藏 举报 版权申诉 / 37
上传文档赚钱

类型浮点数的表示格式规格化IEEE754课件.ppt

  • 上传人(卖家):ziliao2023
  • 文档编号:5671208
  • 上传时间:2023-05-01
  • 格式:PPT
  • 页数:37
  • 大小:1.07MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《浮点数的表示格式规格化IEEE754课件.ppt》由用户(ziliao2023)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    浮点 表示 格式 规格化 IEEE754 课件
    资源描述:

    1、问题n写出写出+0.125,-0.125的补码和移码表示。为什么用补码,移的补码和移码表示。为什么用补码,移码?码?n如何表示即有整数又有小数的数值数据,如如何表示即有整数又有小数的数值数据,如12.25?n12.25用浮点数怎么表示?用浮点数怎么表示?n为什么要对浮点数进行规格化?为什么要对浮点数进行规格化?引入引入n定点表示法的特点定点表示法的特点n定点数表示数的范围受字长限制,表示数的范围有定点数表示数的范围受字长限制,表示数的范围有限限;n定点表示的精度有限;定点表示的精度有限;n机器中,常用定点数表示纯整数和纯小数,表示即机器中,常用定点数表示纯整数和纯小数,表示即有整数又有小数时比

    2、较麻烦。有整数又有小数时比较麻烦。Lecture 3 浮点数表示课程结构计算机系计算机系统统计统统计硬件硬件运算器运算器数据表示数据表示数据数据数据数据定点定点原码原码反码反码补码补码移码移码浮点浮点一般表示一般表示规格化规格化IEEE754非数值数非数值数据据校验码校验码运算方法运算方法运算器运算器存储器存储器控制器控制器总线总线输入输出输入输出软硬件接软硬件接口口软件软件主要内容n浮点数的表示格式浮点数的表示格式n规格化规格化nIEEE754浮点数的表示格式浮点数的表示格式 对任意一个二进制数对任意一个二进制数N,总可以写成:,总可以写成:N=2EM,式中:,式中:E为数为数N的的阶码阶码

    3、,M为数为数N的的尾数尾数;可见浮点数是由阶码和尾数两个部分组成的。可见浮点数是由阶码和尾数两个部分组成的。浮点数在计算机中的表示格式如下:浮点数在计算机中的表示格式如下:MS E M 数符数符 阶码阶码 尾数值尾数值 定点整数移码表示定点整数移码表示 定点小数补码表示定点小数补码表示 ES E MS M 阶符阶符 阶码阶码 数符数符 尾数值尾数值 定点整数补码表示定点整数补码表示 定点小数补码表示定点小数补码表示 Ms 代表浮点数的符号代表浮点数的符号n 其位数反映浮点数的精度其位数反映浮点数的精度k 其位数反映浮点数的表示范围其位数反映浮点数的表示范围Es 和和 k 共同表示小数点的实际位

    4、置共同表示小数点的实际位置Es Ek-1 E1E0 Ms Mn-1 M1M0 E 阶码阶码M 尾数尾数阶符阶符数符数符阶码的阶码的数值部分数值部分尾数的数值部分尾数的数值部分小数点位置小数点位置浮点数的表示格式浮点数的表示格式x=1110100000例例 将将 58 表示成二进制定点数和浮点数,并写出它表示成二进制定点数和浮点数,并写出它在在16位定点机中的三种机器数和浮点机中阶码为移码、位定点机中的三种机器数和浮点机中阶码为移码、尾数为补码的形式(尾数尾数为补码的形式(尾数10位,尾符位,尾符1位,阶码含阶符位,阶码含阶符5位)。位)。解:解:二进制形式二进制形式定点表示定点表示浮点形式浮点

    5、形式x原原=1,0000000 00111010 x补补=1,1111111 11000110 x反反=1,1111111 11000101阶阶原原=0,0110阶阶补补=0,0110阶阶移移=1,0110定点机中定点机中浮点机中浮点机中x阶移、尾补阶移、尾补=1,0110;1.0001100000 x=111010 x=(0.1110100000)2110尾尾原原=1.1110100000尾尾补补=1.0001100000存放在存存放在存储器中形储器中形式为式为B460H主要内容n浮点数的表示格式浮点数的表示格式n规格化规格化nIEEE754原码规格化后的尾数原码规格化后的尾数 正数为正数为

    6、 0.1的形式的形式 负数为负数为 1.1的形式的形式补码规格化后的尾数补码规格化后的尾数 正数为正数为 0.1的形式的形式 负数为负数为 1.0的形式的形式规格化规格化同一个浮点数表示不唯一,如:1.11 20,0.111 21使使|x|=0.5(|x|=0.5(不绝对,如尾数不绝对,如尾数1.10000B1.10000B表示表示-0.5-0.5,但不是规格化的,但不是规格化的例将下列十进制数表示成浮点规格化数,阶码例将下列十进制数表示成浮点规格化数,阶码4 4位位(含符含符号号),分别用补码和移码表示;尾数,分别用补码和移码表示;尾数6 6位位(含符号含符号),用补码,用补码表示(要求规格

    7、化)。表示(要求规格化)。19/512 19/512 19/51219/512 解:解:19/512=1001119/512=100112 29 9=0.10011=0.100112 24 4 阶码用补码表示为:阶码用补码表示为:1100 010011 1100 010011 阶码用移码表示为:阶码用移码表示为:0100 0100110100 010011 19/512=19/512=10011100112 29 9=0.100110.100112 24 4 阶码用补码表示为:阶码用补码表示为:1100 101101 1100 101101 阶码用移码表示为:阶码用移码表示为:0100 101

    8、1010100 101101例例 设浮点数的的阶码设浮点数的的阶码6 6位位(含符号位含符号位),尾数为,尾数为1010位位(含符含符号位号位),阶码和尾数都用,阶码和尾数都用补码补码表示,求其表示范围(规表示,求其表示范围(规格化)。格化)。表示范围表示范围【例题分析例题分析】阶码范围:阶码范围:最小负数最小负数 最大负数最大负数 最小正数最小正数 最大正数最大正数 0 二进制补码二进制补码 100000 111111 000001 011111 十进制真值十进制真值 25=32 1 1 251=31 n注意:注意:这里规格化尾数的最大负数的补码是这里规格化尾数的最大负数的补码是1.011的

    9、形式,而的形式,而不是不是1.111的形式,是因为的形式,是因为 1.111不是规格化数,不是规格化数,n所以规格化尾数的最大负数应是所以规格化尾数的最大负数应是:0.1001,(0.101)补补=1.011 即:即:(2(n1)21)表示范围表示范围 规格化尾数表示范围如下:规格化尾数表示范围如下:最小负数最小负数 最大负数最大负数 最小正数最小正数 最大正数最大正数 0 二进制补码二进制补码 1.000000000 1.011111111 0.100000000 0.111111111 十进制真值十进制真值 1 (2921)21 129 规格化浮点数表示范围如下:规格化浮点数表示范围如下:

    10、最小负数最小负数 最大负数最大负数 最小正数最小正数 最大正数最大正数 0 二进制补码二进制补码 20111111.00 21000001.011 21000000.100 20111110.11 阶码用移码阶码用移码 21111111.00 20000001.011 20000000.100 21111110.11 十进制真值十进制真值 2311 232(2921)23221 231(129)q浮点数的表示范围:浮点数的表示范围:2311 231(129)表示范围表示范围55219211 2(1 2)2 根据以上分析若某机字长为根据以上分析若某机字长为kn,其中阶码,其中阶码k位位(含一位符

    11、号位含一位符号位),尾数尾数n位位(含一位符号位含一位符号位);设设a2(k1)1(阶码的最大值)(阶码的最大值)b2(k1)(阶码的最小值)(阶码的最小值)则规格化数所能表示的范围为:则规格化数所能表示的范围为:最大正数:最大正数:(12(n1)2a 最小正数:最小正数:212b 最大负数:最大负数:(2(n1)21)2b(绝对值最小的负数)(绝对值最小的负数)最小负数:最小负数:12a(绝对值最大的负数)(绝对值最大的负数)阶码采用移码不影阶码采用移码不影响表示范围,但机响表示范围,但机器数与补码表示时器数与补码表示时不同不同浮点数的阶码决定了浮点数的表示范围;浮点数的尾数决浮点数的阶码决

    12、定了浮点数的表示范围;浮点数的尾数决定了浮点数的表示精度。定了浮点数的表示精度。表示范围表示范围练习练习 设机器数字长为设机器数字长为 24 位,欲表示位,欲表示3万的十进制数,万的十进制数,试问在保证数的最大精度的前提下,除阶符、数符各试问在保证数的最大精度的前提下,除阶符、数符各 取取1 位外,阶码、尾数各取几位?位外,阶码、尾数各取几位?满足满足 最大精度最大精度 可取可取 k=4,n=18解:解:k=4,5,6,15 位二进制数可反映位二进制数可反映 3 万之间的十进制数万之间的十进制数 215=32768214=16384215 0.?位位主要内容n浮点数的表示格式浮点数的表示格式n

    13、规格化规格化nIEEE754“Father”of the IEEE 754 standard现在所有计算机都采用现在所有计算机都采用IEEE754来表示浮点数来表示浮点数1970年代后期,IEEE成立委员会着手制定浮点数标准1985年完成浮点数标准IEEE754的制定Prof.William Kahan www.cs.berkeley.edu/wkahan/ieee754status/754story.htmlThis standard was primarily the work of one person,UC Berkeley math professor William Kahan.直

    14、到80年代初,各个机器内部的浮点数表示格式还没有统一 因而相互不兼容,机器之间传送数据时,带来麻烦 n单精度格式单精度格式:32:32位位,符号位符号位1 1位,阶码位,阶码 E=8E=8位位,尾数尾数M=23M=23位位n双精度格式双精度格式:64:64位位,符号位符号位1 1位,位,E=11E=11位位,M=52,M=52位位1823S S符号位符号位EM阶码阶码尾数尾数32位单精度形式位单精度形式11152S S符号位符号位EM阶码阶码尾数尾数64位双精度形式位双精度形式IEEE754IEEE754标准浮点数表示标准浮点数表示n阶码用移码、尾数用原码,因为规格化原码尾数的阶码用移码、尾数

    15、用原码,因为规格化原码尾数的最高为恒为最高为恒为1,为增加一,为增加一位的精度,该位的精度,该1在尾数中不表示出来,计算时在尾数前面自动加在尾数中不表示出来,计算时在尾数前面自动加1.IEEE754IEEE754标准浮点数表示标准浮点数表示1823S S符号位符号位E1.M(原码规格化)(原码规格化)阶码阶码尾数尾数32位单精度形式位单精度形式单精度数所表示的数值为单精度数所表示的数值为 (-1)(-1)s s 1.M 1.M 2 2e e127127。双精度数所表示的数值为双精度数所表示的数值为 (-1)(-1)s s 1.M 1.M 2 2e e10231023。其中:其中:s=0s=0表

    16、示正数,表示正数,s=1s=1表示负数;表示负数;即,如果要表示一个数,需要把该数写成:即,如果要表示一个数,需要把该数写成:(-1)(-1)s s 1.M 1.M 2 2(x)(x)真值真值 而规格化浮点数形式是:而规格化浮点数形式是:(-1)(-1)s s 0.1M 0.1M 2 2(128+x)(128+x)移码移码 =(-1)(-1)s s 1.M 1.M 2 2(127+x)(127+x)移码移码相当于此时移码相当于此时移码的计算不是加的计算不是加128128,而是加,而是加127127e=127+xe=127+xn几个特殊数值:几个特殊数值:n当当E的二进制位全为的二进制位全为1时

    17、为特殊数值:此时,时为特殊数值:此时,n若若M的二进制位全为的二进制位全为0,则,则n表示表示无穷大无穷大。若。若S为为1则为负则为负无穷大,若无穷大,若S为为0则为正无穷大则为正无穷大;n若若M的二进制位不全为的二进制位不全为0时,表示时,表示NaN(Not a Number),表示这不是一个合法实数。表示这不是一个合法实数。nE为全为全0时:时:M全为全为0时,表示机器时,表示机器0;M不全为不全为0时,时,表示非规格化的数。表示非规格化的数。n单精度数单精度数e的取值为的取值为1254(8位表示),位表示),M为为23位,位,共共32位;双精度数位;双精度数e的取值为的取值为12046(

    18、11位表示),位表示),M为为52位,共位,共64位。位。IEEE754IEEE754标准浮点数表示标准浮点数表示n例 写出下列十进制数据的IEEE754编码n 0.15625 5 解:0.15625转换成二进制值为0.00101,n在IEEE754中规格化表示为1.0123,e1273124,nIEEE754编码为:0 01111100 01000000000000000000000n5转换成二进制值为:101n在IEEE754中规格化表示为1.0122,e1272129,nIEEE754编码为:1 10000001 01000000000000000000000 IEEE754IEEE75

    19、4标准浮点数表示标准浮点数表示例例 将十进制数将十进制数9 9和和5/325/32转换为转换为IEEE754IEEE754标准的单精度数标准的单精度数,并用并用8 8位十六进位十六进制表示制表示n解答解答(1)9=(-1)(1)9=(-1)0 01001=(-1)1001=(-1)0 02 23 3 1.0011.001 =(-1)=(-1)0 02 2130-127 130-127 1.0011.001 二进制代码为:二进制代码为:0 0 1000001010000010 001 001000000000000000000000000000000000000 0000 即:即:4110000

    20、0H41100000Hn解答解答(2)5/32=(-1)(2)5/32=(-1)0 0010101012 2-5-5 =(-1)=(-1)0 02 2-5-52 22 21.011.01 =(-1)=(-1)0 02 2124-127 124-127 1.011.01 二进制代码为:二进制代码为:0 011111000 01111100 010 010000000000000000000000000000000000000 0000 即:即:3E200000H3E200000HIEEE754IEEE754标准浮点数表示标准浮点数表示n例例 将将IEEE754IEEE754单精度数单精度数(8(

    21、8位十六进制表示位十六进制表示)转换为十进制数转换为十进制数n(1)C0A00000H (2)3F880000H(1)C0A00000H (2)3F880000Hn解答解答(1)C0A00000H(1)C0A00000H1 100000011 10000001 010 0100000000000000000000000000000000000000000(-1)(-1)1 1(1.25)(1.25)2 2129-127129-127=-1=-11.251.252 22 2 =-1.25=-1.254=-5.04=-5.0n解答解答(2)3F880000H(2)3F880000H 0 0 011

    22、1111101111111 000 0001000100000000000000000000000000000000000(-1)(-1)0 0(1.0625)(1.0625)2 2127-127127-127=1=11.06251.06252 20 0 =1.0625=1.06251=1.06251=1.0625 IEEE754IEEE754标准浮点数表示标准浮点数表示IEEE754的表示范围(单精度)数符数符阶码阶码尾数尾数真值真值最大正数0111111101111(2-2-23)2127最小正数00000000100001 2-126绝对值最大的负数(最小负数)11111111011.1

    23、1-(2-2-23)2127绝对值最小的负数(最大负数)10000000100.00-1 2-126阶码用移码表示的益处n直接可以由移码的表示形式看出对应数值的大小(这里是把移码当做无符号数来比较大小的,而不必考虑符号,这里比用补码好多了,补码是要变换成原码再比较的)n其次,用移码表示的话,简化了对于“0”的判断,即当移码的各位都为0的话,那么该移码对应的数据是能够表示的数据中的最小值。小结n理解规格化的意义、理解规格化的意义、IEEE754表示中隐含隐含尾数最高拉表示中隐含隐含尾数最高拉的意义;的意义;n给定一个真值,能用规格化浮点数表示该值给定一个真值,能用规格化浮点数表示该值(含含IEE

    24、E754表表示示);n给定一个浮点数表示的机器数给定一个浮点数表示的机器数(含含IEEE754表示表示),能计算,能计算其真值。其真值。浮点数精度问题n1994年年11月间各报纸有关月间各报纸有关Pentium处理器浮点瑕疵问题的处理器浮点瑕疵问题的报告。报告。Pentium芯片中浮点除法存在的问题甚至上了电视芯片中浮点除法存在的问题甚至上了电视节目节目David Leeterman Late Show的十大新闻排行榜。为的十大新闻排行榜。为了换回所有问题芯片,了换回所有问题芯片,Intel一共为此损失了一共为此损失了3亿美元的资亿美元的资金。金。浮点数的溢出作业33-1.将下列十进制数表示成

    25、浮点规格化数,阶码将下列十进制数表示成浮点规格化数,阶码4位(含符位(含符号),分别用补码和移码表示;尾数号),分别用补码和移码表示;尾数6位(含符号),用位(含符号),用补码表示。补码表示。(1)19/512 (2)-19/512 3-2.浮点数阶码浮点数阶码4位位(含阶符含阶符),尾数,尾数9位位(含数符含数符),均用补码表,均用补码表示,求用规格化和用非规格化表示时能够表示的数值范围。示,求用规格化和用非规格化表示时能够表示的数值范围。3-3.设浮点数的格式为:第设浮点数的格式为:第15位为符号位,第位为符号位,第14位到第位到第8位为位为阶码,采用补码表示;第阶码,采用补码表示;第7位

    26、到第位到第0位为尾数,与符号位一位为尾数,与符号位一起采用规格化的补码表示,基数为起采用规格化的补码表示,基数为2。问:它能表示的正。问:它能表示的正数和负数的数值范围是什么?数和负数的数值范围是什么?n3-4.假定一台假定一台32位字长的机器中带符号整数用补码表示,位字长的机器中带符号整数用补码表示,浮点数用浮点数用IEEE754标准表示,寄存器标准表示,寄存器R1和和R2的内容分别为的内容分别为R1:0000108BH,R2:8080108BH。不同指令。不同指令 对寄存器对寄存器进行不同的操作,因而,不同指令执行时寄存器内容对应进行不同的操作,因而,不同指令执行时寄存器内容对应的真值不同

    27、。假定执行下列运算指令时,操作数为寄存器的真值不同。假定执行下列运算指令时,操作数为寄存器R1和和R2的内容,则的内容,则R1和和R2中操作数的分别是多少?中操作数的分别是多少?(1)无符号数加法指令无符号数加法指令 (2)带符号数加法指令带符号数加法指令(定点整数定点整数)(3)带符号数加法指令带符号数加法指令(定点小数定点小数)(3)单精度单精度 浮点数减法指令浮点数减法指令 3-5.float型整数据常用型整数据常用IEEE754单精度浮点格式表示,单精度浮点格式表示,假设两个假设两个float型变量型变量x和和y分别在分别在32为寄存器为寄存器f1和和f2中中,若(,若(f1)=CC9

    28、00000H,(f2)=B0C00000H,则则x和和y之间的关系为之间的关系为()A xy且符号相同且符号相同 B xy且符号且符号相同相同 D xy且符号不同且符号不同3-6.float型数据通常用型数据通常用IEEE754单精度浮点数格式表示单精度浮点数格式表示,若编译器将,若编译器将float型变量型变量x分配在一个分配在一个32位浮点寄位浮点寄存器存器FR1中,且中,且x=-8.25,则,则FR1的内容是多少?的内容是多少?n3-7.以下是以下是C语言程序,用来计算一个数组语言程序,用来计算一个数组a中每个元素之中每个元素之和。当参数和。当参数len为为0时,返回值应该是时,返回值应

    29、该是0,但在机器上执行,但在机器上执行时,却发生了存储器异常。分析原因并修改程序。时,却发生了存储器异常。分析原因并修改程序。float sum_elem(float a,unsigned len)int i;float result=0;for(i=0;i=len-1;i+)result+=ai;return result;n#include stdafx.hn#include nusing namespace std;nint _tmain(int argc,_TCHAR*argv)nnfloat i=8.1,j=8.0;nint k=0;nwhile(i!=j)ni/=10;j/=10;

    30、nk+;ncoutfloat:kendl;ndouble m=8.1,n=8.0;nk=0;nwhile(m!=n)nm/=10;n/=10;nk+;ncoutdouble:kendl;n思考!提示:IEEE754中的最小正值附近:(1+2-23)2(1-127),其精度约2-149约10-44.85Questions?思考n定点整数、小数有原码、补码表示形式,手工在纸上怎么定点整数、小数有原码、补码表示形式,手工在纸上怎么加减?举例分析加减?举例分析(两正数相加、两负数相加、正负两个数相两正数相加、两负数相加、正负两个数相加加)。nx原原+y原原=?x+y原原;x原原+-y原原=?x-y原原

    31、nx补补+y补补=?x+y补补;x补补+-y补补=?x-y补补n计算机中表示数据的寄存寄或存储单元长度固定,如果运计算机中表示数据的寄存寄或存储单元长度固定,如果运行结果超过这个长度会产生什么结果?什么情况下会发生行结果超过这个长度会产生什么结果?什么情况下会发生超出表示范围的现象?这个结果能否被利用?试从计算机超出表示范围的现象?这个结果能否被利用?试从计算机的角度来判断运算结果什么时候出错了?的角度来判断运算结果什么时候出错了?思考n设设X=-0.1010 Y=0.0101 求求(X+Y)补补 和和(X-Y)补补n设机器数字长为设机器数字长为 8 位(含位(含 1 位符号位)位符号位),且且 A=97,B=+41,用补码求,用补码求 A B.自学:非数值数据的表示、十进制数的表示自学:非数值数据的表示、十进制数的表示(特别特别是是84218421码、余码、余3 3码、格雷码表示的意义和作用码、格雷码表示的意义和作用)

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:浮点数的表示格式规格化IEEE754课件.ppt
    链接地址:https://www.163wenku.com/p-5671208.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库