社区
C++ 语言
帖子详情
怎样解决浮点数的精度问题呢?
烂笔头Danky
2005-03-29 07:32:02
一个浮点数在内存里存储时存在精度的问题,超过允许的精度都不能保存下来,就如:3.1415926这个浮点数用一个long double的类型来保存,在输出时也却只能输出3.14159,请问有什么办法可以解决这样的精度问题吗?
...全文
289
10
打赏
收藏
怎样解决浮点数的精度问题呢?
一个浮点数在内存里存储时存在精度的问题,超过允许的精度都不能保存下来,就如:3.1415926这个浮点数用一个long double的类型来保存,在输出时也却只能输出3.14159,请问有什么办法可以解决这样的精度问题吗?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
rocklabzhang
2005-03-30
打赏
举报
回复
可以转化成字符串再运算
不过这样要专门写个类处理
烂笔头Danky
2005-03-30
打赏
举报
回复
请帮忙看看这段程序,我的程序是试图把0.1415926这样的小数转换成1415926这样的整数,当fValue=3.1415926时程序可以正常工作,但当fValue=0.1415926时就进入了死循环变得不正常了,请问这是什么原因,应该怎样解决呢?
long double fValue = 0.1415926;
while ( (fValue-(long)fValue) != 0.0 )
{
fValue *= 10;
cout <<"fValue:" <<fValue <<endl;
cout <<"(long)fValue:" <<(long)fValue <<endl;
cout <<"fValue-(long)fValue:" <<fValue-(long)fValue <<endl <<endl;
}
hjf8086
2005-03-30
打赏
举报
回复
cout<<setiosflags(ios::fixed)<<setprecision(7)
fixed是固定浮点数
setprecision(7)小数点后7位显示
pcboyxhy
2005-03-30
打赏
举报
回复
最彻底的方法就是写一个高精度类
烂笔头Danky
2005-03-29
打赏
举报
回复
那它们各自是什么意思啊?
xtutzh
2005-03-29
打赏
举报
回复
cout<<fixed<<showpoint<<setprecision(7)
请可以说一下这里面的是什么意思吗,我估计这个(7)是用来指明输出的位数吧,这个fixed曾经见过,在印象中好像是用来控制输出的位数,但这个showpoint和setprecision是关键字吗?还是变量名呢?
它们不是关键字,而是 iostream的成员函数。注意:cout是内置的iostraam类的一个对象。
烂笔头Danky
2005-03-29
打赏
举报
回复
cout<<fixed<<showpoint<<setprecision(7)
请可以说一下这里面的是什么意思吗,我估计这个(7)是用来指明输出的位数吧,这个fixed曾经见过,在印象中好像是用来控制输出的位数,但这个showpoint和setprecision是关键字吗?还是变量名呢?请指教!
arrowcy
2005-03-29
打赏
举报
回复
如果使用c++的标准输入输出的话,就按照 JYcom(天神的眼泪) 说的做就行了
如果用C函数printf,就用那个%?.?f格式就可以了
arrowcy
2005-03-29
打赏
举报
回复
你说那个问题不是存储的精度问题,而是输出精度的问题
用cout输出默认就是6位有效数字
JYcom
2005-03-29
打赏
举报
回复
包含头文件:#include<iomanip>
然后在输出时cout<<fixed<<showpoint<<setprecision(7)即可。
浮点数
精度
问题
解答——
浮点数
目前支持二进制
浮点数
的硬件和软件文档中,几乎都声称其
浮点数
实现符合IEEE 754标准。那么,什么是IEEE 754标准? 最权威的解释是IEEE754标准本身ANSI/IEEE Std 754-1985《IEEE Standard for Binary Floating-Point Arithmetic》,网上有PDF格式的文件,Google一下,下载即可。标准文本是英文的,总共才23页,有耐心的话可以仔细阅读。这里摘录前言中的一句: This standard defines a family of commercially feasible ways for new systems to perform binary floating-point arithmetic。 其实是句废话,什么也没说。 IEEE 754标准的主要起草者是加州大学伯克利分校数学系教授William Kahan,他帮助Intel公司设计了8087浮点处理器(FPU),并以此为基础形成了IEEE 754标准,Kahan教授也因此获得了1987年的图灵奖。赞一句:IEEE 754浮点格式确实是天才的设计。Kahan教授的主页:http://www.cs.berkeley.edu/~wkahan/。 看看其它文献怎么说。
关于
浮点数
的
精度
问题
关于
浮点数
的
精度
问题
,对于了解和学习C语言有一定帮助
用于更方便的
解决
PHP中超大数字和
浮点数
精度
问题
PHP 中的整型大小和平台有关,通常最大值是二十亿,64位平台下最大值通常为 9E18,当程序中需要处理的数值超出整形的范围,数值将会被解释为
浮点数
。
双
精度
浮点数
转换
双
精度
浮点数
、单
精度
浮点数
与十六进制,二进制之间可以进行任意转换
对S7-200PLC双
精度
浮点数
转单
精度
浮点数
例程的一点补充
对S7-200PLC双
精度
浮点数
转单
精度
浮点数
例程的一点补充,远程抄表相关技术的交流
C++ 语言
65,199
社区成员
250,520
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章