|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ float的最大支持不是7位小数么!为什么会出现6位小数?
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
8652
人关注过本帖
标题:
float的最大支持不是7位小数么!为什么会出现6位小数?
只看楼主
加入收藏
广陵绝唱
等 级:
贵宾
威 望:
29
帖 子:3607
专家分:1709
注 册:2008-2-15
第
11
楼
收藏
得分:0
嗯,是我理解的意思。下面的程序就说明了一切。
#include <stdio.h>
int main(void)
{
float a=123456.12345678;
printf("%f\n",a);
return 0;
}
2008-12-12 17:42
举报帖子
使用道具
赠送鲜花
广陵绝唱
等 级:
贵宾
威 望:
29
帖 子:3607
专家分:1709
注 册:2008-2-15
第
12
楼
收藏
得分:0
又测试了一下。
#include <stdio.h>
int main(void)
{
float a=0.123456789;
printf("%f\n",a);
return 0;
}
2008-12-12 17:43
举报帖子
使用道具
赠送鲜花
forever74
来 自:CC
等 级:
版主
威 望:
58
帖 子:1688
专家分:4262
注 册:2007-12-27
第
13
楼
收藏
得分:0
是啊
float类型的计算结果,7位以内的是近似值,8位以外的部分是垃圾值。
对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2008-12-12 17:47
举报帖子
使用道具
赠送鲜花
StarWing83
来 自:仙女座大星云
等 级:
贵宾
威 望:
19
帖 子:3951
专家分:748
注 册:2007-11-16
第
14
楼
收藏
得分:0
这么说精度还是蛮小的……
专心编程………
飞燕算法初级群:3996098
我的Blog
2008-12-12 17:49
举报帖子
使用道具
赠送鲜花
forever74
来 自:CC
等 级:
版主
威 望:
58
帖 子:1688
专家分:4262
注 册:2007-12-27
第
15
楼
收藏
得分:0
所以所有的工科数值计算都至少double
甚至80位和128位的浮点,很少用32位浮点
对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2008-12-12 17:54
举报帖子
使用道具
赠送鲜花
老刘
等 级:
新手上路
帖 子:30
专家分:4
注 册:2008-9-25
第
16
楼
收藏
得分:0
明白了,这么多老师教,在不会也真对不起各位前辈了!我现在总结下我的理解:所谓7位有效数,也可以叫做7位精度,就是数能够精确到7位!如:PI==3.1415926!精度为7位吧,如果圆周率继续往后算就算是超出了这个7位:3.1415926XXXXXXXXXXX!X都是垃圾!而FLOAT单精度浮点最支持的就是这个7位的有效数,和我们所算出来的小数位是两个毫无关系的概念?不知道各位老师能否赞同?
另外:希望74兄能给在下留个联系方式!非常荣幸!
2008-12-12 18:01
举报帖子
使用道具
赠送鲜花
守鹤
来 自:山東臨沂
等 级:
贵宾
威 望:
12
帖 子:337
专家分:0
注 册:2008-6-20
第
17
楼
收藏
得分:0
这些与数值在计算机中的存储有关,均以二进制数表示,float占用4个字节,double占用8字节(一个字节8位)
对于float型的,(用32位表死)最高位表示符号,紧接着的8位表示整数值,后面的位数则表示小数部分
用位数的权值 * (该位的位值)= 数值(十进制)
多少个日日夜夜想起你,只希望有缘再次相见
2008-12-12 21:04
举报帖子
使用道具
赠送鲜花
守鹤
来 自:山東臨沂
等 级:
贵宾
威 望:
12
帖 子:337
专家分:0
注 册:2008-6-20
第
18
楼
收藏
得分:0
以下是引用
forever74
在2008-12-12 17:54的发言:
所以所有的工科数值计算都至少double
甚至80位和128位的浮点,很少用32位浮点
数据所占的位数,与机器的处理能力(机器的字长)有关,我们所用的电脑
double 一般是64位
多少个日日夜夜想起你,只希望有缘再次相见
2008-12-12 21:08
举报帖子
使用道具
赠送鲜花
守鹤
来 自:山東臨沂
等 级:
贵宾
威 望:
12
帖 子:337
专家分:0
注 册:2008-6-20
第
19
楼
收藏
得分:0
以下是引用
forever74
在2008-12-12 17:54的发言:
所以所有的工科数值计算都至少double
甚至80位和128位的浮点,很少用32位浮点
多少个日日夜夜想起你,只希望有缘再次相见
2008-12-12 21:09
举报帖子
使用道具
赠送鲜花
atkisc
等 级:
新手上路
帖 子:2
专家分:0
注 册:2009-6-20
第
20
楼
收藏
得分:0
以下是引用
老刘
在2008-12-12 18:01的发言:
明白了,这么多老师教,在不会也真对不起各位前辈了!我现在总结下我的理解:所谓7位有效数,也可以叫做7位精度,就是数能够精确到7位!如:PI==3.1415926!精度为7位吧,如果圆周率继续往后算就算是超出了这个7位: ...
你这还是不对吧,有效位是7位,算上小数点前非零数字一共7位,你这都8位了......
2009-07-28 17:09
举报帖子
使用道具
赠送鲜花
22
2/3页
1
2
3
快速回复:
float的最大支持不是7位小数么!为什么会出现6位小数?
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.024517 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved