- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2限位浮点数的表示.doc
用限位数方法设计精确浮点加减法运算器
姜咏江
(对外经济贸易大学信息学院 北京 100013)
摘要:仅用二进制补码制来说明机器如何表示数值运算,存在多方面的缺失,很难说清楚机器计算的理论依据,并带来了设计冗余和资源的浪费。限位数不用书写正负号就可以表示有符号数。只用无符号数做加法就能够进行加减运算。用限位数方法设计浮点运算器,阶码不用引进移码就能够方便进行计算,而且能够方便进行尾数扩充,得到精确的计算结果。
关键词:计算机体系结构,限位数,硬件设计,软件设计
中图分类号:TP301,TP311
Design Exact Float’s ADD/SUB with the Fixed-Length Number
Jiang Yongjiang
(School of Information Technology Management Engineering,UIBE,Beijing 100013)
:
Abstract: Only use Binary-complement to explain the machine how to represent numerical computation, there are many losses. It is difficult to clarify the theoretical basis for machine-computation and bring the design redundancy and waste of resources. The Fixed-length number can express the value not use the - or + symbol. Only use unsigned addition will be able to carry out addition and subtraction. Use the Fixed-length number to design the float’s ADD/SUB, Exponent no need to shift and can facilitate the mantissa expansion, get accurate results.
Key words: architecture, fixed-length number, hardware, software
引言
国际标准化组织给出的单精度IEEE754标准(见图 1)将32位数用一位表示尾数的正负号,8位做阶码,尾数23位,并且做了如下规定:
如果阶码E=0,并且尾数M=0,这个数是±0(和符号位相关);
如果阶码E=2255-1,并且尾数M=0,这个数是±无穷大(同样和符号位相关);
如果阶码E=22551,并且尾数M≠0,这不是一个数(NaN)。
图 1 IEEE754浮点数的格式
计算机浮点数是数学“科学记数法”表达的数,一般形式为:M×2E,这种形式可以与定点数通过移动小数点的方法自由转换。IEEE754标准的规定不仅使一定长度数码表数范围减少了,而且失去了运用浮点数进行精确计算的可能。
本文根据限位数理论和方法[1]设计了32位可实现精确计算的浮点数加减法运算器,阶码8位,尾码24位,没有尾码的符号位。阶码E的值是-128~+127的所有整数,不论24位尾码M如何,32位浮点格式都表示惟一确定的数。通过保留移出数据的方式,该浮点运算器就能够运用于任意范围的浮点数精确计算。
限位浮点数的表示
限位数理论使用数码原样排列的算术运算来完成数值计算,同样也适合浮点数算数运算。
限位数和对称制
我们将位数固定只用数码表示的数叫“限位数”。为了表示出限位数的长度,无效数码不能够省略。两限位数之和为数的总数,那么一个叫另一个“对称数”。因而0和负数没有对称数。两个数码之和为最大数码时,一个叫另一个数码的“反码”。一个限位数的对称数可以用“求反加一”得到。用较大的限位数来表示其对称数的相反数,0就是0,这就是比补码制更一般化的“对称制”[2]。对称制中判断数的正负只要与对称点比较即可。限位数可以直接表示一定范围的正负数,不用在运算过程中转换。保值扩充限位数,正数添“0”,负数添最大数码。
例如,3位十进制的限位数是000~999,总数是1000个,其中较大的一半501~999的每个数都表示较小一半对称数499~001的相反数,对称点500的对称数是自身,这种情况规定为负数(基数是奇数时没有这种情况)。
用限位数表示浮点数
浮点数的限位数表示不必分为单精度或双精度,也不必将阶码用移码表示,数码的直接运算就能得到任何精确度的计算结果。由y=M×2E函数的性质知,阶码E的值越大,2E的值越大。按着我们这里规定的阶码8位,尾码24
文档评论(0)