浮点数-DriveHQ.ppt

  1. 1、本文档共42页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
浮点数-DriveHQ.ppt

计算机科学引论 浮点数表示与运算 为什么讲浮点数 浮点数是程序中常用的数 浮点数是计算机技术中设计非常精巧的一个例子 浮点数的一些设计思想被应用到计算机科学的其它领域 数的表示 计算机是处理“数”的 数必须表示成计算机认识的格式 N位整数的表示 无符号:原码 0~(2N-1) 有符号:补码 (-2N-1)~( 2N-1-1) 数的表示 其它的数怎么办? 特别大的数:一个世纪的秒数 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.718...),?(3.141...) 都是科学技术上常用的数 数的表示 科学技术上数的表示 科学记数法 数的表示 科学记数法 有一个定长尾数 小数 有一个固定的基 10:尾数的进制 有一个阶 有符号整数 有一个符号 数的表示 科学记数法 规一化要求: 1?尾数10 规一化的: 1.0 x 10-9 未规一化的: 0.1 x 10-8,10.0 x 10-10 规一化 数的表示 科学记数法 归一化科学记数法特点 尾数长度决定了数的运算可用精度 简称精度 阶增减1相当于尾数小数点右移/左移一位 归一化算法简单 比较大小的算法 先比较符号 符号相同的再比较阶 符号和阶都相同,再比较尾数 数的表示 二进制科学记数法 计算机只能使用二进制 所以计算机用二进制科学记数法 浮点数 数的表示 二进制科学记数法 表示符号 +/-:一位二进制数表示 表示阶 有符号整数 表示基? 固定为2:不需要表示 表示尾数 二进制小数:如何表示? 二进制小数的表示 二进制小数 带小数点的二进制数:101.012 二进制小数的值 二进制小数的表示 十进制小数转换成二进制小数 二进制小数的表示 表示精度问题 计算机不可能表示真正的实数 无理数 21/2(1.414213562373. . .),e(2.718...),?(3.141...) 分数 2/3, 5/7, …… 某些有限十进制数小数无法转换成有限二进制小数 0.3 实际的科学计算也不需要真正的实数 解决办法:量化 量化 量化 把需要表示的区间划分成整数个格子,要表示的实数向最近的格子边界靠 量化 量化 N位二进制数:有2N个码点 均匀量化:任意二个相邻码点之间的距离相等 可以表示的范围: D=2N×L 量化 实际使用情况例(单位:米) 有关原子半径的运算 需要精确到约10-20 需要表示的范围约10-5 有关丈量土地的运算 需要精确到约10-1 需要表示的范围约103 有关地理运算 需要精确到约102 需要表示的范围约108 量化 实际使用情况总结 需要的精度越高时,需要表示的范围也越小 越接近0,需要表示的精度越高 解决方案 非均匀量化 越接近0,量化越密;越远离0,量化越粗 量化 数的表示精度与运算可用精度 表示精度:量化误差 变化的(非均匀量化) 在确定了阶的值后,由尾数位数确定 运算可用精度 固定的:由尾数位数确定 量化 如何实现非均匀量化 科学记数法 无论阶的值是多少,尾数的位数是固定的 尾数的位数确定了在相邻两个阶之间有几个码点 例:二位十进制科学记数法 浮点数 浮点数:二进制科学记数法 规一化要求:1?尾数2 尾数首位恒为1,可以隐含表示 基恒为2:隐含表示 浮点数 用二进制表示浮点数 各部分多少位? 各部分顺序? 各部分编码方式? 浮点数 科学运算的其它要求 表示范围:-?~+? 但不一定表示它们之间的所有数 有最大/最小范围 有特殊值表示+?和-? 可以用有符号整数运算对浮点数进行简单处理 所占存储空间应与一个整数相同 可以当作整数比较大小、判断0/非0 机器0必须也是浮点0(反之则不一定) 严格满足越接近0越精确 有一些特殊值 -0,NaN (Not a Number) 浮点数的国际标准:IEEE754 浮点数:IEEE754 宽度 与有符号整数相同:32位,64位 符号域 与有符号(补码)整数相同 一位,在最高位,0为正1为负 浮点数:IEEE754 尾数和阶 谁在高位? 谁的权重大谁在高位(比较大小时先比较谁) 阶在高位 浮点数:IEEE754 单精度浮点数(C/C++类型:float) 阶:8位,最多可表示-128~+127 实际:-126~+127 可表示最小正数(约):1.0x2-126=10-38 可表示最大正数(约):2.0x2+127=1038 尾数:23位 数的精度=23+1位(首位1隐含表示) 浮点数:IEEE754 在0附近: 1.00...02× 2-126~1.11...12× 2-126 范围

文档评论(0)

zhaoxiaoj + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档