-3
使用指數數字的以下代碼的輸出爲1.#INF00 -33.000000 0.000000。怎麼樣?指數數字如何在C中工作
#include<stdio.h>
int main()
{
float p=3.5e38f;
float n=-3.3e1f;
float m=1.0e-38f;
printf("%f %f %f",p,n,m);
}
使用指數數字的以下代碼的輸出爲1.#INF00 -33.000000 0.000000。怎麼樣?指數數字如何在C中工作
#include<stdio.h>
int main()
{
float p=3.5e38f;
float n=-3.3e1f;
float m=1.0e-38f;
printf("%f %f %f",p,n,m);
}
你真的需要學習基礎知識。谷歌搜索「浮點數如何工作」將是一個好的開始。
http://en.wikipedia.org/wiki/IEEE_floating_point
簡要地說,第一個數字溢出到 「無窮大」(INF)。第二個是3.3倍,提高到1的次冪。第三個下降到零。
在交出作業前,請仔細閱讀單精度浮標的限制。 – PeterJ
你基本上達到了單精度浮點數的極限。這就是爲什麼你得到「無限」和「零」作爲輸出。 http://en.wikipedia.org/wiki/Single-precision_floating-point_format – Aziz