gpt4 book ai didi

c - 即使字符串的精度为一位小数,_wtof 精度也不全为零

转载 作者:行者123 更新时间:2023-11-30 17:31:17 24 4
gpt4 key购买 nike

使用 _wtof 时,我没有在小数点右侧得到一位有效数字。这是我的代码:

DOUBLE fVersion = 0.0;  // Initialize to zero; confirmed fVersion is 0.00000000000000000    
TCHAR sVersion[64] = {0};
_tcscpy_s(sVersion,64,L"1.1");
fVersion = _wtof(sVersion);

使用_wtof后,fVersion是1.1000000000000001,而不是1.1。

谁能解释一下为什么?但最重要的是,如何修复使其只是 1.1?

最佳答案

您无法用二进制 float 准确表示 1/10(十进制)。因此,将会出现错误。

考虑用十进制 float 表示 1/3,最终得到 0.3333333...并且它会永远持续下去,因为这也是不可能的。

典型的推荐阅读是What Every Computer Scientist Should Know About Floating-Point Arithmetic 。确实写得非常好,快来看看吧。

关于c - 即使字符串的精度为一位小数,_wtof 精度也不全为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24697947/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com