计算机原理试验课件_第1页
计算机原理试验课件_第2页
计算机原理试验课件_第3页
计算机原理试验课件_第4页
计算机原理试验课件_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机科学引论浮点数表示与运算1为什么讲浮点数浮点数是程序中常用的数浮点数是计算机技术中设计非常精巧的一个例子浮点数的一些设计思想被应用到计算机科学的其它领域2数的表示计算机是处理“数”的数必须表示成计算机认识的格式N位整数的表示无符号:原码0(2N1)有符号:补码(2N1)( 2N11)3数的表示其它的数怎么办?特别大的数:一个世纪的秒数3,155,760,00010 (3.1557610 x 109)非常小的数:原子的直径0.0000000110 (1.010 x 10-8) 分数2/3 (0.666666666. . .)无理数21/2(1.414213562373. . .),e(2.

2、718.),(3.141.)都是科学技术上常用的数4数的表示科学技术上数的表示科学记数法+/- 6.020000 x 1023基 小数点 尾数阶位数:运算可用精度符号5数的表示科学记数法有一个定长尾数小数有一个固定的基10:尾数的进制有一个阶有符号整数有一个符号+阶增减1相当于尾数小数点右移/左移一位同一个数有多个表示形式6数的表示科学记数法规一化要求:1尾数10规一化的:1.0 x 10-9未规一化的:0.1 x 10-8,10.0 x 10-10 规一化0 . 1 x 10-8 1 0 . 0 x 10-10-1+1进制7数的表示科学记数法归一化科学记数法特点尾数长度决定了数的运算可用精度

3、简称精度阶增减1相当于尾数小数点右移/左移一位归一化算法简单比较大小的算法先比较符号符号相同的再比较阶符号和阶都相同,再比较尾数8数的表示二进制科学记数法计算机只能使用二进制所以计算机用二进制科学记数法浮点数+/- 1.02 x 2-1基 “小数点”尾数阶符号229数的表示二进制科学记数法表示符号+/-:一位二进制数表示表示阶有符号整数表示基?固定为2:不需要表示表示尾数二进制小数:如何表示?10二进制小数的表示 二进制小数带小数点的二进制数:101.012二进制小数的值122+ 021 + 120+02-1 + 12-2-1-1-1=5.2511二进制小数的表示十进制小数转换成二进制小数5.

4、3101.?0.32=0.60.62=1.2010.22=0.400.42=0.801 1 0 0010有限十进制小数不一定能转换成有限二进制小数!12二进制小数的表示表示精度问题计算机不可能表示真正的实数无理数21/2(1.414213562373. . .),e(2.718.),(3.141.)分数2/3, 5/7, 某些有限十进制数小数无法转换成有限二进制小数0.3实际的科学计算也不需要真正的实数解决办法:量化13量化量化把需要表示的区间划分成整数个格子,要表示的实数向最近的格子边界靠-2 -1 0 1 2 -1.75+1.5量化误差-1.112+1.102二位二进制小数表示精度0.25

5、用更多位可以实现更高精度码点14量化量化N位二进制数:有2N个码点均匀量化:任意二个相邻码点之间的距离相等可以表示的范围: D2NL例:如需要的精度L10-30,N32 则D4.310-21 可以表示-210-21 210-21 连一个原子的半径都不能表示15量化实际使用情况例(单位:米)有关原子半径的运算需要精确到约10-20需要表示的范围约10-5有关丈量土地的运算需要精确到约10-1需要表示的范围约103有关地理运算需要精确到约102需要表示的范围约108如何在一个格式的数中满足所有这些要求16量化实际使用情况总结需要的精度越高时,需要表示的范围也越小越接近0,需要表示的精度越高解决方案

6、非均匀量化越接近0,量化越密;越远离0,量化越粗17量化数的表示精度与运算可用精度表示精度:量化误差变化的(非均匀量化)在确定了阶的值后,由尾数位数确定运算可用精度固定的:由尾数位数确定所以尾数位数被一般性地叫做“精度”18量化如何实现非均匀量化科学记数法无论阶的值是多少,尾数的位数是固定的尾数的位数确定了在相邻两个阶之间有几个码点例:二位十进制科学记数法100 101 102 1031.09.9x100100个1.09.9x102100个1.09.9x101100个19浮点数浮点数:二进制科学记数法规一化要求:1尾数21038)(上)溢出如果结果太小?(0v, 5.0/0可以给出正确的答案,

7、而不一定产生溢出sqrt(-5.0)? 0.0/0.0?既然5.0/0可以有正确的结果,这里也应该有NaN:Not a Number阶全1,尾数036浮点数:IEEE75432位浮点数小结阶尾数值00+/-00非0?1-254任意+/-浮点数2550+/- 255非0NaN37浮点数:IEEE754现有格式存在的问题可表示的最小正数a = 1.0 2 * 2-126 = 2-126可表示的第二小正数b = 1.0001 2 * 2-126 = 2-126 + 2-149a - 0 = 2-126 b - a = 2-149ba0+-38浮点数:IEEE754解决办法阶0,尾数0还未使用定义此时

8、的有效值为:+/-0.xxxxxxxx22-126此时最小正数:0.0.0122-126= 2-149第二小正数: 0.0.1022-126= 2-1480+-39浮点数:IEEE754舍入为何需要舍入实数的运算结果:无限精度不可能被计算机表示计算机的浮点数是运算结果的近似值必须把运算结果映射到浮点数可以表示的某个码点上此操作称为“舍入”实数到整数的变换(取整运算)要映射到整数可以表示的某个码点上舍入40舍入( round )方法恒舍(round down,round towards -inf)1.999 - 1, -1.999 - -2恒入(round up,round towards +inf)1.999 - 2, -1.999 - -1截断(truncate,round to

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论