CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C语言

(a+b)+c==(b+a)+c??

楼主cguoyin(独钓寒江)2003-11-03 09:59:58 在 C/C++ / C语言 提问

三个float:a,b,c  
  问值  
  (a+b)+c==(b+a)+c  
  (a+b)+c==(a+c)+b  
  问题点数:20、回复次数:9Top

1 楼zhang21cnboy(事了抚衣去,不留身与名)回复于 2003-11-03 10:07:15 得分 0

a+b+c;  
  a+2b;Top

2 楼huangyq(阿泉)回复于 2003-11-03 10:07:49 得分 0

?????  
  楼主啥意思啊??Top

3 楼williamVII(spread)回复于 2003-11-03 10:11:06 得分 0

1  
  1Top

4 楼dyublackdragon()回复于 2003-11-03 10:11:38 得分 10

不一定相等,float存在大数淹没小数的情况,如  
                    float   a=100000000000,b=-100000000000,c=0.00000000001;  
  cout<<a+b+c<<endl;  
  cout<<a+c+b<<endl;  
  结果是1e-011和0;  
  尽量把数量级相近的数先相加  
  Top

5 楼carbon107(&lt;软件开发思想.h&gt;)回复于 2003-11-03 10:17:30 得分 10

(a+b)+c==(b+a)+c//这个相同  
  (a+b)+c==(a+c)+b//这个不一定的  
   
  正如楼上说的Top

6 楼verbal()回复于 2003-11-03 10:18:35 得分 0

数量级不能相差太大!  
  一般数相加应该是等值的!Top

7 楼zhyy(zhyy)回复于 2003-11-03 10:22:00 得分 0

一般不会相等的,因为浮点数在存储时是有误差的,偶尔也会相等  
   
  一般来说值是0,极偶然也会等于1,因为值是不确定的,所以该问题毫无意义!Top

8 楼sunjx119(睿锐)回复于 2003-11-03 10:32:38 得分 0

同意楼上,当数量级相差很大的时候,次序不同结果会不一样的。  
  所以结果不一定是1,1。Top

9 楼happystudy(笑生)回复于 2003-11-03 11:25:38 得分 0

我也同意   up  
  Top

相关问题

  • C/S OR B/S
  • b/s,c/s
  • C\S ====> B\S
  • C/S------------->B/S
  • 请教!c/s -> b/s
  • 请教!c/s -> b/s
  • AB=AC->B=C?
  • typedef VOID (*A)(B *C);
  • C/S VS B/S??
  • float a,b,c;(a+b)+c==(b+a)+c和(a+b)+c==(a+c)+b有什么区别?

关键词

  • float

得分解答快速导航

  • 帖主:cguoyin
  • dyublackdragon
  • carbon107

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo