1e-9 или -1e9, какой из них правильный?

Мне присваивается какой-то старый код, и когда я читал его, я заметил, что он имел это в виде:

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?

Ответ 1

Вернее другого. Они просто представляют разные значения.

1e-9 - 0.000000001; знак минус применяется к экспоненте.

-1e9 - -1000000000.0; знак минус относится к самому числу.

e (или e) означает "times 10-to-the", поэтому 1e9 "один раз десять до девятой мощности", а 1e-9 означает "один раз десять до отрицательного девятой власти". В математических научных обозначениях это обычно обозначается надстрочным индексом: 1 × 10 -9 или -1 × 10 9. Языки программирования приняли нотацию e или e, потому что было легче печатать и печатать, чем надстрочный (и, тем не менее, в этом отношении). (Я думаю, что это могло быть введено Фортраном в 1950-х годах, но я не уверен в точной истории.)

Ответ 2

"Низкий" и "высокий" относятся к абсолютным значениям. Низкое число невелико по абсолютным значениям, высокий - велико. Негативы не важны, поскольку вы уже понимаете, как работать с ними. Что важно для поплавков, это их переменная шкала (то есть показатель), и поэтому принято предоставлять нижнюю и верхнюю границы шкалы, а не значение.