-3

指数を使用した以下のコードの出力は、1。#INF00-33.0000000.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);
}
4

1 に答える 1

0

あなたは本当に基本を学ぶ必要があります。「浮動小数点数はどのように機能するか」を Google で検索するとよいでしょう。

http://en.wikipedia.org/wiki/IEEE_floating_point

簡単に言うと、最初の数値が「無限大」 (INF) にオーバーフローします。2 番目は 3.3 かける 10 の 1 乗です。3 番目のアンダーフローはゼロになります。

于 2012-12-12T07:10:55.667 に答える