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-90.000000001;减号适用于指数。

-1e9-1000000000.0;减号适用于数字本身。

(eE) 的意思是“10 次方”,1e9“1 次 10 的 9 次方”,1e-9意思是“1 次 10 的负 9 次方”。在数学科学记数法中,这通常由上标表示:1 × 10 -9或 -1 × 10 9。编程语言采用eorE表示法,因为它比上标更容易输入和打印(就此而言仍然如此)。(我认为这可能是 Fortran 在 1950 年代引入的,但我不确定确切的历史。)

于 2012-08-26T22:18:46.627 回答
4

“低”和“高”是指绝对值。绝对值低的数字小,高的数字大。否定并不重要,因为您已经了解如何使用它们。浮点数的重要之处在于它们的可变比例(即指数),因此习惯上提供比例的下限和上限而不是值。

于 2012-08-26T22:19:40.767 回答