我想更好地理解浮点值和相关的不精确性。不一致的浮点输出
以下是两个片段稍作修改
片段1
#include <stdio.h>
int main(void)
{
float a = 12.59;
printf("%.100f\n", a);
}
输出:
12.5900001525878906250000000000000000000000000000000000000000000000000000000000000000000000000000000000
片段2:
#include <stdio.h>
int main(void)
{
printf("%.100f\n", 12.59);
}
输出:
12.589999999999999857891452847979962825775146484375000000000000000000000000000000000000000000000000000
为什么会出现在两个输出有区别吗?我无法理解这个问题。