免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4216 | 回复: 3
打印 上一主题 下一主题

[算法] 请教:计算机中二进制浮点数的运算法则. [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-08-31 11:23 |只看该作者 |倒序浏览
在网上找了几天了都没找到,在哪儿可以找到相关的资料?哪位有现成的给个链接吧.

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
2 [报告]
发表于 2003-09-01 00:10 |只看该作者

请教:计算机中二进制浮点数的运算法则.

[quote]原帖由 "ohai"]在网上找了几天了都没找到,在哪儿可以找到相关的资料?哪位有现成的给个链接吧.[/quote 发表:
     
现在硬件用的浮点数运算法则好像大都用IEEE制定的规则,
你根据这个信息找找吧。你说的不清楚,不知你要的是不是
实际的运算法则,这里给你一个链接。http://216.239.51.104/search?q=c ... =zh-CN&ie=UTF-8

论坛徽章:
0
3 [报告]
发表于 2003-09-01 12:24 |只看该作者

请教:计算机中二进制浮点数的运算法则.

谢谢lenovo,就拿那个页面上的一个例子来说吧,我想知道什么叫对阶,以及具体应该怎样规格化?不知道有没有这方法详细的资料.

X=2010·0.11011011,    Y=2100·(-0.10101100)
计算过程:

      ①对阶操作:阶差△E=[Ex]补+[-Ey]补=00010+11100=11110

                                  X阶码小,Mx右移2位,保留阶码E=00100

                                  [Mx]补=00 00110110 11

      ②尾数相加:[Mx]补+[My]补=00 00110110 11+11 01010100

                                   =11 10001010 11

      ③规格化操作:左规,移一位,结果=11 00010101 10

                                      阶码减1,E=00011

      ④舍入:附加位最高位为1,在结果的最低位+1,

                           得新结果[M]补=11 00010110,M=-0.11101010

      ⑤判溢出:阶符为00,不溢出,最终结果为

      X+Y=2011·(-0.11101010)

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
4 [报告]
发表于 2003-09-01 18:24 |只看该作者

请教:计算机中二进制浮点数的运算法则.

原帖由 "ohai" 发表:
00010110,M=-0.11101010

      ⑤判溢出:阶符为00,不溢出,最终结果为

      X+Y=2011·(-0.11101010)
   
   这个你还是找一本《计算机组成原理》看一看吧,时间很长了,我几乎全忘了,抱歉。对阶问题其实二进制和十进制是一样的。当2个数操作时,如果阶码不一样,是没法运算的,所以你要把它们的阶码变成一样的。即把一个数的阶码调大或调小。这样一来由于那个数的阶码变化了,所以你要相应它的调节小数部分,使它的值不会变化。其实这样有时候会影响一个数的精度的,可能精度降低了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP