重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【終了しました】教えて!goo新規会員登録

VC++にて、ある関数内に変数aを定義しました。
そのaには、初期値を設定しない状態で、プログラムを走らせました。

そして、aに値が設定される直前に、値を確認したところ、
2.8846128294914302e-290
となっていました。

この数字が何なのか、聞いたところ限りなく0に近い数字だと言われましたが、どういうことなのか分かりません。

A 回答 (3件)

> この数字が何なのか、聞いたところ限りなく0に近い数字だと言われましたが、どういうことなのか分かりません。



いわゆる「不定」の値です。初期化されていないので、たまたま入っていたゴミということです。

ところで、C/C++では有限の数しか扱えませんので、

> 限りなく0に近い数

というのは扱えません。表現可能な範囲で、0ではない最も0に近い数は
±LDBL_MINということになります。
また、質問内容では「数」ではなく「数字」となっていますが、その場合、'0'に最も近い数字は当然'1'です。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。

ごみということで、認識しておきたいと考えています。

> 「数字」となっていますが、その場合、'0'に最も近い数字は当然'1'です。

御指摘ありがとうございます。まったくその通りで、質問する際は、気をつけたいと思います。

お礼日時:2007/05/21 01:09

変数というのはメモリ上に置かれているということはご存知ですよね。


初期化前のメモリの内容が見えてしまっているだけです。
2.8846128294914302e-290は、
2.8846128294914302 × 10の-290乗を意味する表現ですが、
めちゃくちゃなメモリの内容を表示した際に、
人間に見えるように表現したらそうなってしまっただけです。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

変数のごみが表示されているだけだと私自身認識していたのですが、限りなく0に近い数字と言われ、困惑していました。

お礼日時:2007/05/21 01:01

2.8846128294914302×10^(-290)



という意味では?
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

まさにそのとおりだと思います。
ですが、”0に近い”と言われたので、気になってしまって質問させてもらいました。

お礼日時:2007/05/21 00:47

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!