永发信息网

如何避免数量级相差很大的浮点数运算

答案:2  悬赏:80  手机版
解决时间 2021-04-14 08:03
如何避免数量级相差很大的浮点数运算
最佳答案
1、首先观察是否有溢出,可在程序中监视OV和OS位。
2、累加器有精度问题,当相加的两个数的数量级差很大的时候就会出现比较大的误差甚至不能累计。为了防止出现这种情况,用进制累计法来做累计。
3、避免数量级相差太多的浮点数之间进行运算。
全部回答
浮点数保存的字节格式如下: 地址 +0 +1 +2 +3 内容 seee eeee emmm mmmm mmmm mmmm mmmm mmmm 这里 s 代表符号位,1是负,0是正 e 偏移127的幂,二进制阶码=(eeeeeeee)-127。 m 24位的尾数保存在23位中,只存储23位,最高位固定为1。此方法用最较少的位数实现了 较高的有效位数,提高了精度。 零是一个特定值,幂是0 尾数也是0。 浮点数-12.5作为一个十六进制数0xc1480000保存在存储区中,这个值如下: 地址 +0 +1 +2 +3 内容0xc1 0x48 0x00 0x00 浮点数和十六进制等效保存值之间的转换相当简单。下面的例子说明上面的值-12.5如何转 换。 浮点保存值不是一个直接的格式,要转换为一个浮点数,位必须按上面的浮点数保存格式表 所列的那样分开,例如: 地址 +0 +1 +2 +3 格式 seee eeee emmm mmmm mmmm mmmm mmmm mmmm 二进制 11000001 01001000 00000000 00000000 十六进制 c1 48 00 00 从这个例子可以得到下面的信息: 符号位是1 表示一个负数 幂是二进制10000010或十进制130,130减去127是3,就是实际的幂。 尾数是后面的二进制数10010000000000000000000 在尾数的左边有一个省略的小数点和1,这个1在浮点数的保存中经常省略,加上一个1和小数 点到尾数的开头,得到尾数值如下: 1.10010000000000000000000 接着,根据指数调整尾数.一个负的指数向左移动小数点.一个正的指数向右移动小数点.因为 指数是3,尾数调整如下: 1100.10000000000000000000 结果是一个二进制浮点数,小数点左边的二进制数代表所处位置的2的幂,例如:1100表示 (1*2^3)+(1*2^2)+(0*2^1)+(0*2^0)=12。 小数点的右边也代表所处位置的2的幂,只是幂是负的。例如:.100...表示(1*2^(-1))+ (0*2^(-2))+(0*2^(-2))...=0.5。 这些值的和是12.5。因为设置的符号位表示这数是负的,因此十六进制值0xc1480000表示- 12.5。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
谁能告诉我,地下城与勇士魔法师转召唤师的第
建设银行住房贷款按揭计算
如何才能熄灭QQ上的QQ家园和QQ交友用户图标?
终极三国大结局
找3D游戏玩!大家推荐几款吧
男的姓陈女的姓袁起四个字的名字
用一句古诗赞美老师,赞颂老师的名人名言,格
我的液晶电视有播放1080P的h.264的影片的功能
湖口昌盛家庭农场怎么去啊,有知道地址的么
求四边形的面积
供楼商业贷款254000元利率4.9供楼10年总利息
男生如何提高自己的外在形象?
恋爱,一定会有磨合期么?要怎么样坚持下去那
金凯瑞 演的戏剧片??
单选题雷雨天气,应谨防雷电下面哪些做法是正
推荐资讯
中国人民银行外汇牌价显示:2010年8月25日,1
“喷”字怎么写?
小时候的韩静书和车城俊的谁演的?
关于感情方面,希望大家一定帮帮我!
我在自家的阳台上搭个阳光房这算违章建筑吗?
龙OL主剑副弓怎么加天资
桃花小妹播完了吗??
三国战记风云再起赵云爆气连招怎么连?
新盛堂我想知道这个在什么地方
关于几个英语的问题
用什么软件制作边玩边拍的视频
儒家思想深入人心,深刻影响两岸的风土人情、
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?