欢迎来到天天文库
浏览记录
ID:59508339
大小:311.04 KB
页数:42页
时间:2020-09-04
《计算机组成原理.王诚.刘卫东-2-6.pptx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1第一单元第六讲浮点数和浮点运算器检错、纠错码2内容提要浮点数科学表示法十进制科学表示法二进制科学表示法IEEE754浮点数标准计算机内的浮点数表示表示范围vs.表示精度数制转换数据类型3计算机内的数据计算机的功能:处理数据n位能表示哪些数据?无符号整数:0to2n-1有符号整数:-2(n-1)to2(n-1)-1其它数据呢?大整数?(如:一个世纪的秒数)3,155,760,00010(3.1557610x109)非常小的数?(如:原子的直径)0.0000000110(1.010x10-8)有理数(如:循环小数)2/3(0.666666666...)无理数21/2(
2、1.414213562373...)无限不循环小数:e(2.718...),(3.141...)4科学计数法6.02x1023根(基数)小数点规格化形式:noleadings0s(小数点前仅有1位非0数字)1/1,000,000,000的不同表示形式:规格化:1.0x10-9非规格化:0.1x10-8,10.0x10-10尾数阶5二进制的科学计数法1.02x2-1根(基数)“二进制小数点”尾数阶浮点数的算术运算二进制小数点不是固定在某位上C语言中的float型数据6浮点数的计算机内部表示规格化形式:+1.xxxxxxxxxx2*2yyyy2字长的整数倍(32bit
3、s)031SExponent302322Significand1bit8bits23bitsS表示符号位Exponent表示y,即阶Significand表示x,即尾数的后部分十进制表示范围:2.0x10-38至2.0x10387上溢和下溢上溢数值太大(>2.0x1038)阶的值超出8位能表示的范围下溢数值太小>0,<2.0x10-38阶码超出了8位二进制位能表示的范围如何减少上溢和下溢?8双精度浮点数使用双字(64位)C语言中的double类型十进制的范围扩展到2.0x10-308至2.0x10308最主要的好处是精度得到了扩展(52位)031SExponent3
4、02019Significand1bit11bits20bitsSignificand(cont’d)32bits9浮点数表示规格化科学计数法:+1.xxxx2*2yyyy2Significand(cont’d)0SExponent2019Significand1bit11bits20bits32bits3130双精度阶:移码表示有效数:符号–尾数表示移码127(单精度)1023(双精度)031SExponent302322Significand1bit8bits23bits单精度10IEEE754浮点数标准被几乎所有计算机采纳(自1980年起)符号位:有效位:使用
5、原码表示规格化小数中,隐含最高位1单精度为:1+23位,双精度为1+52位0<有效数<10不可能出现为1的位在阶码中保留0给数01表示负数0表示正数(-1)S*(1+Significand)*2Exp11阶的移码表示在IEEE754中,浮点数的阶不用补码表示,采用移码表示最小的阶:000000012最大的阶:111111102移码:在真正的阶上加一个规定的值对单精度浮点数:+127对双精度浮点数:+10231.0*2-1(-1)S*(1+Significand)*2(Exponent-Bias)0011111100000000000000000000000012IE
6、EE754的阶可以在没有浮点运算器的情况下使用浮点数直接使用整数比较将浮点数分解成三个部分:符号位,阶和有效数可进行快速比较直接作为两个定点小数比较13尾数尾数用原码表示最高位为1含义:十进制:1.6732=(1x100)+(6x10-1)+(7x10-2)+(3x10-3)+(2x10-4)二进制:1.1001=(1x20)+(1x2-1)+(0x2-2)+(0x2-3)+(1x2-4)(-1)S*(1+Significand)*2(Exponent-Bias)14浮点数的二—十进制转换符号位:0=>正数阶:011010002=10410移码校正:104-127=
7、-23有效数:1+1x2-1+0x2-2+1x2-3+0x2-4+1x2-5+...=1+2-1+2-3+2-5+2-7+2-9+2-14+2-15+2-17+2-22=1.0+0.66611500110100010101010100001101000010十进制值:1.666115*2-23~1.986*10-715浮点数十—二进制转换(1/2)简单情况:如果除数是2的整数倍,则比较简单如:-0.75的二进制-0.75=-3/4-112/1002=-0.112规格化为:-1.12x2-1(-1)Sx(1+Significand)x2(Exponent-127
此文档下载收益归作者所有