免费注册 查看新帖 |

Chinaunix

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

浮点数的问题(新手问题,高手滤过) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-01-15 16:18 |只看该作者 |倒序浏览
二、浮点数
  如 11.4 、 -0.3 、.3 、 3. 、 54.1e+02 、 5.41e03
  浮点寄存器通常不能精确地存贮浮点数,从而产生误差,在运算和比较中要特别注意。指数的范围通常为-309到+308。
  例:

  #!/usr/local/bin/perl
  $value = 9.01e+21 + 0.01 - 9.01e+21;
  print ("first value is ", $value, "\n");
  $value = 9.01e+21 - 9.01e+21 + 0.01;
  print ("second value is ", $value, "\n");

  ---------------------------------------------------------

  $ program3_3
  first value is 0
  second value is 0.01

Q1:
54.1e+02=54.1*10^2
5.41e03=?????
这个没看明白,请指点指点

Q2:
指数的范围通常为-309到+308

例如,一个指数范围为±4的4位十进制浮点数可以用来表示43210,4.321或0.0004321,但是没有足够的精度来表示432.123和43212.3(必须近似为432.1和43210)。

请说说指数范围是啥意思


Q3:
程序结果一个为0一个为0.01
为何

论坛徽章:
46
15-16赛季CBA联赛之四川
日期:2018-03-27 11:59:132015年亚洲杯之沙特阿拉伯
日期:2015-04-11 17:31:45天蝎座
日期:2015-03-25 16:56:49双鱼座
日期:2015-03-25 16:56:30摩羯座
日期:2015-03-25 16:56:09巳蛇
日期:2015-03-25 16:55:30卯兔
日期:2015-03-25 16:54:29子鼠
日期:2015-03-25 16:53:59申猴
日期:2015-03-25 16:53:29寅虎
日期:2015-03-25 16:52:29羊年新春福章
日期:2015-03-25 16:51:212015亚冠之布里斯班狮吼
日期:2015-07-13 10:44:56
2 [报告]
发表于 2011-01-15 20:28 |只看该作者
浮点数有效数字一般只有16位左右,你指数都21位了,加个小数没意义

表示成科学计数法那个指数

论坛徽章:
0
3 [报告]
发表于 2011-01-16 16:37 |只看该作者
赶紧进来看看,因为自己不是高手。

论坛徽章:
0
4 [报告]
发表于 2011-01-18 12:49 |只看该作者
对于浮点数而言,是没有加法交换律的
一个很大的浮点数跟一个很小的浮点数相加由于精度受限结果很大可能还是一个很大的浮点数

A+B = A
当A很大,B很小的时候,这里的大小指的是绝对值
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP