19

私はいくつかの古いコードを割り当てられており、それを読んでいると、次の形式であることに気づきました。

float low = 1e-9;
float high = 1e9;

float lowB = 1e-9;
float highB = 1e9;

float lowL = 1e-9;
float highL = 1e9;

つまり、e表記を使用していくつかの範囲を定義しようとしていることがわかりますよね?しかし、そうではない1e-9-1e9ですか?

そうすると、値はとの間に-1000000000なり1000000000ますよね?

1e-9を意味するのかわかりませんか?

4

2 に答える 2

73

どちらももう一方よりも正確ではありません。それらは単に異なる値を表します。

1e-9です0.000000001; マイナス記号は指数に適用されます。

-1e9です-1000000000.0; マイナス記号は数値自体に適用されます。

eまたはE)は「10の10倍」を意味し、「1e910の9乗の1倍」、 1e-9「10の10の負の9乗の1倍」を意味します。数学的科学的記数法では、これは通常上付き文字で示されます:1× 10-9または-1× 109。プログラミング言語は、上付き文字よりも入力と印刷が簡単だったため、 eor表記を採用しました(さらに言えば、それでもそうです)。E(これは1950年代にFortranによって導入された可能性があると思いますが、正確な履歴はわかりません。)

于 2012-08-26T22:18:46.627 に答える
4

「低」および「高」は絶対値を指します。絶対値の小さい数値は小さく、大きい数値は大きいです。ネガティブは、ネガティブの操作方法をすでに理解しているため、重要ではありません。フロートで重要なのは可変スケール(つまり指数)であるため、値ではなくスケールの下限と上限を指定するのが通例です。

于 2012-08-26T22:19:40.767 に答える