【发布时间】:2017-08-22 09:30:00
【问题描述】:
我正在努力解决“C 编程语言”中的练习 2.1,其中应该在本地机器上计算不同类型的范围,如 char、short、int 等,但也包括 float 和 double。除了 float 和 double 我观察溢出的发生,因此可以计算最大值/最小值。但是,通过浮动,这仍然不起作用。
那么,问题是为什么这段代码会打印两次相同的值?我认为第二行应该打印inf
float f = 1.0;
printf("%f\n",FLT_MAX);
printf("%f\n",FLT_MAX + f);
【问题讨论】:
-
添加
e格式说明符,数字以指数形式表示。 -
看到这个问题:stackoverflow.com/questions/6910115/… 也许它会让你更清楚一些事情......
-
这也是一个非常好的答案,有一个小例子:stackoverflow.com/a/17588524/8051589。
标签: c floating-point