【发布时间】:2017-02-21 22:17:13
【问题描述】:
#include <stdio.h>
#include <conio.h>
int main()
{
int a = 8; float b = 3.9; char c='a';
float hasil = a+b+c;
printf("%f", hasil);
getch();
return 0;
}
我得到结果 108.900002
那么,0.000002 在哪里?
如果我改成
float hasil = a+b;
那么结果将是 11.900000
那么如果我们把char转换成float,那么肯定会加值0.000002? 真的吗 ?如果是,为什么?
谢谢你
【问题讨论】:
-
浮点值以二进制形式存储。
3.9和108.9的值无法准确表示。实际值很可能是108.90000152587890625。