以下使用指数数的代码的输出为 1.#INF00 -33.000000 0.000000。怎么办?
#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);
}
最佳答案
你确实需要学习基础知识。在 Google 上搜索“ float 如何工作”将是一个好的开始。
http://en.wikipedia.org/wiki/IEEE_floating_point
简单来说,第一个数字溢出到“无穷大”(INF)。第二个是 10 的 1 次方的 3.3 倍。第三个下溢为零。
关于c - 指数数在 C 中如何工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13834546/