我被分配了一些旧代码,当我阅读它时,我发现它有以下形式:
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
是什么意思?
答案 0 :(得分:57)
两者都不比另一个更正确。它们只代表不同的价值观。
1e-9
是0.000000001
;减号适用于指数。
-1e9
是-1000000000.0
;减号适用于数字本身。
e
(或E
)表示“时间10到”,因此1e9
是“十倍到九倍的力量”,1e-9
意思是“负九次幂的十倍”。在数学科学记数法中,这通常用上标表示:1×10 -9 或-1×10 9 。编程语言采用e
或E
表示法,因为它比上标更容易打字和打印(就此而言仍然如此)。 (我想这可能是由Fortran在20世纪50年代引入的,但我不确定具体的历史。)
答案 1 :(得分:3)
“低”和“高”是指绝对值。低数字的绝对值很小,高数字很大。否定并不重要,因为您已经了解如何使用它们。浮点数的重要性在于它们的变量 scale (即指数),因此习惯上为比例而不是值提供下限和上限。