- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第1.x节 补充:定点数和浮点数表示方法
* 第x节 补充:定点数和浮点数表示方法 2014.2.20 * 补充:定点数和浮点数表示 1.定点数 由于定点位置不同,一般又分为两种情况。对于整数,小数点约定在最低位的右边,称为定点整数。对于纯小数,小数点约定在符号位之后,称为定点小数。 (1)定点整数 定点整数约定小数点在数值位的最低位之后,此时计算机中所表示的数一律为整数。定点整数又被划分为带符号和不带符号的两类。 ①带符号整数:某个n位二进制数,其最高位为符号位,其他N-1位为数值部分,如图所示。 n位带符号二进制可表示的数值范围为︱N︱≤2n-1-1。 例:16位定点数可表示数值范围为-32768~32767(补码) 32位定点数可表示数值范围为-231~231-1(补码) Nf Nn-2 Nn-3… ……N2 N1 N0 符号位↑ 数值部分(n-1位) ↑小数点位置 * ②无符号整数:所有的数位都用来表示数值,如图所示。 Nn-1 Nn-2 Nn-3… ……N2 N1 N0 数值部分(n位) ↑小数点位置 二进数可表示的数值范围为0≤N ≤ 2n-1。 例:16位无符号定点数可表示数值范围为0~65535。 (2)定点小数 定点小数用最高位表示符号,其他n-1位二进制数表示数值部分,将小数点定在数值部分的最高位左边,因此如何一个小数可以表示为: Nf Nn-2 Nn-3… ……N2 N1 N0 小数点位置↑ 数值部分(n-1位) 则n位二进数可表示的数值范围为︱N ︱ ≤1- 2-(n-1)。 定点表示法主要用于早期的计算机中,可以节省硬件,简化运算器的设计。但在编程时必须选择合适的比例因子,来表示超出定点数表示范围的数据。与浮点数相比其表示的范围和精度都有限。 注意: 小数点“.”在计算机中实际上是不表示出来的,需要在编程时时事先约定它的位置。 定点小数的表示范围与位数无关,定点小数的长度只与其精度有关,这与十进制的小数不同。 在定点运算时需要有适度的位长,否则会有溢出的问题。 * 【例 】定点二进制整数+1010111和-1010111表示形式为: 0 1010111 . 1 1010111 . 符号 符号 小数点 小数点 数值 数值 【例 】定点小数二进制整数+0.1001111和-0.1001111表示形式为: 0 .1010111 1 .1010111 符号 符号 小数点 小数点 数值 数值 * 二进制阶码 尾数 2.浮点数 如果要处理的数既有整数部分,又有小数部分,则采用定点数会比较麻烦。为此可以采用浮点数,即小数点的位置不是固定的。 通常可表示为:N=±S×R±E 式中:S——数值N的尾数,表示数值N的有效数值,决定数值的精度。 Sf——数符,0表示正数,1表示负数。 E ——数值N的阶码,表示小数点的位置。 Ef——表示阶码的符号位,0表示阶码为正数,1表示阶码为负数。 阶码的底R,一般选择与尾数的基数相同。对于同一种系统,R是隐含的约定常数,并不直接表示在浮点数表示中。为了便于理解且与二进制表示一致,约定R=2,并规定浮点数的尾数部分用定点小数表示,阶码是定点整数,尾数是定点小数,它相当于将数值规范为定点小数S乘以比例因子RE。 S(n位) Sf E(m位) Ef 阶码部分 尾数部分 例:设尾数为4位,阶码为2位。则,=+1011×2+11* (1) 规格化浮点数 对于二进制的浮点数±S×R±E,若尾数满足0.5≤︱S︱<1时,即为规格化数。所谓规格化数即尾数的最高位是有效数字是1而不是0。规格化的意义在尾数的有效位被充分利用,使其表示的数值精度尽可能高。一个数的浮点数的非规格化表示可以有多种,但其规格化表示是唯一的。 对于不满足规格化表示的浮点数,要通过左移尾数并修改阶码的方法将其化为规格化表示格式。 【例 】对于二进制数0.0001111规格化表示:0.1111×2-3 其规格化操作为:尾数左移3次,价码减3。其代码为阶码=3 阶符为负 尾数 数符为正 (2) 数值精度与范围 在计算机中,阶码是一个定点数,用于指出小数点在数据中的位置,它的位数m决定了浮点数的表示范围。尾数一般为定点小数,它的长度n决定了浮点数的精度即有效数字的位数。为既保证足够大的数值范围,又要保证所要求的精度,合理选择m和n的值是十分必要的。 (3) 计算机中机器零 a.如果一个浮点数的尾数全为0,则不论其阶码为何值,计算机在处理时都把这种浮点数当作零看待;b.如果一个浮点数的阶码小于它所表示范围的最小值,则不论其尾数为何值,计算机在处理时都把这种浮点
原创力文档


文档评论(0)