Floating point CPU计算中出现浮点错误
我在CPU中的浮点赋值中发现了一个奇怪的结果 我的代码是Floating point CPU计算中出现浮点错误,floating-point,Floating Point,我在CPU中的浮点赋值中发现了一个奇怪的结果 我的代码是 float W[0]=0.1; printf("%.10f",W[0]); 结果是0.1000000015 谁能帮我一个忙吗 谢谢。0.1十进制是重复的“”:0.0 0011 0011 0011 0011 0011 0011 0011 0011 0011 0011 0011 0011 0011 0011 0011。。。(0011重复,我用空格表示)。四舍五入到24个有效位,以适合浮点运算,即0.00011001101。也就是0.1000
float W[0]=0.1;
printf("%.10f",W[0]);
结果是0.1000000015
谁能帮我一个忙吗
谢谢。0.1十进制是重复的“”:0.0 0011 0011 0011 0011 0011 0011 0011 0011 0011 0011 0011 0011 0011 0011 0011。。。(0011重复,我用空格表示)。四舍五入到24个有效位,以适合浮点运算,即0.00011001101。也就是0.1000000149011919384765625。四舍五入到10位,小数点是0.1000000015。我猜你得到的是机器epsilon:那么,当你搜索So或更宽的网络来查找术语
float increciate
,你没有看到十亿零一个帖子已经详细说明了你想知道的内容吗?请参阅其中一个。如果需要10位精确的十进制数字,请使用double
。浮点的可能副本通常只有6位精度