标题:[求助]单精度实型float输出时的问题
只看楼主
mengxiang0
Rank: 1
等 级:新手上路
帖 子:5
专家分:2
注 册:2009-11-30
结帖率:0
已结贴  问题点数:10 回复次数:3 
[求助]单精度实型float输出时的问题
这是程序
#include "Stdio.h"
main()
{
  int a;
  long m;
  float x;
  double y;
  char ch;
  a=1705;
  m= -774916055 ;
  x= -412537.28;
  y= 2315468975.6841;
  ch='B';
  printf("%c,%d,%ld\n",ch,a,m);
  printf("%f,%f\n",x,y);
}

结果输出的x值变为-412537.281250
搜索更多相关主题的帖子: 单精度 输出 实型 float 
2009-12-01 21:35
mengxiang0
Rank: 1
等 级:新手上路
帖 子:5
专家分:2
注 册:2009-11-30
得分:0 
为什么输出的值和程序中的不一样?
2009-12-01 21:40
秋天的童话
Rank: 2
等 级:论坛游民
帖 子:33
专家分:92
注 册:2009-12-1
得分:5 
单精度和双精度都有一定的小数点位数的规定,如果小数点后面的位数你没有写满,系统会自动分配,我是这样认为的。
2009-12-01 22:11
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
得分:5 
单精度浮点型有效位数为  7  位,所以第 7 位后出现什么数值都是有可能的。
2009-12-01 22:25



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-293618-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.449419 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved