- 1、本文档共40页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
浮点表示法 浮点表示法:小数点的位置不固定,一个浮点数分为阶码和尾数两部分。 阶码:用于表示小数点在该数中的位置,是一个整数。 尾数:用于表示数的有效数值,可以采用整数或纯小数两种形式 可供选择的一种位数分配形式:设字长为32位 符号位 阶码部分 尾数部分 1位 8位 23位 规格化的浮点数:为了提高浮点数表示的精度通常规定其尾数的最高位必须是非零的有效位,称为浮点数的规格化形式。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 二进制浮点数规格化 规格化数是指尾数的最高位为1 对于正数:0.5 ≤尾数S< 1,即0.1xxxx(原、补码) 对于负数:原码:-1<尾数S ≤ -0.5,即1.1xxxx 补码:-1 ≤尾数S <-0.5,即1.0xxxx 故规格化数用 原码表示:最高位是1 补码表示:尾数最高位与符号位相反 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 浮点数补充实例 假定一个浮点数用4个字节来表示,则一般阶码占用一个字节,尾数占用3个字节,且每部分的最高位均用以表示该部分的正负号。 例:-0.11011×2-011在机内的表示形式是什么? 阶码 尾 数1110110000000000 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 浮点数加减法 X=0.34×103 Y=0.45×104 X+Y= 0.34×103 + 0.45×104 =0.034×104 + 0.45×104 = 0.484 ×104 = 0.48 ×104 对阶 尾数加减 舍入处理 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 浮点数加减法 例: 两浮点数x = 201×0.1101,y = 211×(-0.1010)。假设尾数在计算机中以补码表示,可存储4位尾数,阶码以原码表示,采用0舍入,求x+y。 步骤5: 数据无溢出,因此结果为 x+y = 210×(-0.1110) 解:将x,y转换成浮点数据格式(双符号位) [x]浮 = 00 01, 00.1101 [y]浮 = 00 11, 11.0110 步骤1:对阶,阶差为11-01=10,即2,因此将x的尾数右移两位,得 [x]浮 = 00 11, 00.001101 步骤2:对尾数求和,得: [x+y]浮 = 00 11, 11.100101 步骤3:由于符号位和第一位数相等,不是规格化数,向左规格化,得 [x+y]浮 = 00 10, 11.001010 步骤4:截去。 [x+y]浮 = 00 10, 11.0010 小阶对大阶 不符合规格化:左规,尾数左移,小数点右移 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 浮点数加减法 例: 两浮点数x = 210×0.1101,y = 210×(-0.1010)。假设尾数在计算机中以补码表示,可存储4位尾数,阶码以原码表示,采用0舍入,求x-y。 步骤5: 数据无溢出,因此结果为 x+y = 211×(0.1011) 解:将x,y转换成浮点数据格式(双符号位) [x]浮 = 00 10, 00.1101 [y]浮 = 00 10, 11.0110 [-y]浮 = 00 11, 00.1010 步骤1:对阶,阶码相同 步骤2:对尾数相减,得: [x-y]浮 = 00.1101 + 00.1010= 01.0111 步骤3:尾数相加减,尾数部分溢出,向右规格化,小数点左移得 [x-y]
文档评论(0)