我在CPU
中的浮点赋值中发现了一个奇怪的结果我的代码是
float W[0]=0.1;
printf("%.10f",W[0]);
结果是0.1000000015
有人可以帮我一个忙吗?
谢谢。
答案 0 :(得分:0)
0.1十进制是重复' bicimal':0.0 0011 0011 0011 0011 0011 0011 0011 ...(0011重复,我用空格表示)。圆形到24位有效位 - 适合浮点数 - 即0.000110011001100110011001101。那是0.100000001490116119384765625 in decimal。舍入到10位,十进制数为0.1000000015。