Skip to content

Commit 13e6802

Browse files
authored
Добавлена информация про _ в числах, правки текста
1 parent 3a1fd2d commit 13e6802

File tree

1 file changed

+24
-18
lines changed

1 file changed

+24
-18
lines changed

1-js/05-data-types/02-number/article.md

Lines changed: 24 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -14,46 +14,53 @@
1414
let billion = 1000000000;
1515
```
1616

17-
Но в реальной жизни мы обычно опускаем запись множества нулей, так как можно легко ошибиться. Укороченная запись может выглядеть как `"1млрд"` или `"7.3млрд"` для 7 миллиардов 300 миллионов. Такой принцип работает для всех больших чисел.
17+
Мы также можем использовать символ нижнего подчёркивания `_` в качестве разделителя:
1818

19-
В JavaScript можно использовать букву `"e"`, чтобы укоротить запись числа. Она добавляется к числу и заменяет указанное количество нулей:
19+
```js
20+
let billion = 1_000_000_000
21+
```
22+
23+
Символ нижнего подчёркивания `_` -- это «[синтаксический сахар](https://ru.wikipedia.org/wiki/Синтаксический_сахар)», он делает число более читабельным. Движок JavaScript попросту игнорирует `_` между цифрами, поэтому в примере выше получается точно такой же миллиард, как и в первом случае.
24+
25+
Однако в реальной жизни мы в основном стараемся не писать длинные последовательности нулей, так как можно легко ошибиться. Укороченная запись может выглядеть как `"1млрд"` или `"7.3млрд"` для 7 миллиардов 300 миллионов. Такой принцип работает для всех больших чисел.
26+
27+
В JavaScript, чтобы укоротить запись числа, мы можем добавить к нему букву `"e"` и указать необходимое количество нулей:
2028

2129
```js run
2230
let billion = 1e9; // 1 миллиард, буквально: 1 и 9 нулей
2331

24-
alert( 7.3e9 ); // 7.3 миллиардов (7,300,000,000)
32+
alert( 7.3e9 ); // 7.3 миллиарда (7,300,000,000)
2533
```
2634

27-
Другими словами, `"e"` производит операцию умножения числа на 1 с указанным количеством нулей.
35+
Другими словами, `"e"` умножает число на `1` с указанным количеством нулей.
2836

2937
```js
30-
1e3 = 1 * 1000
31-
1.23e6 = 1.23 * 1000000
38+
1e3 === 1 * 1000 // e3 означает *1000
39+
1.23e6 === 1.23 * 1000000 // e6 означает *1000000
3240
```
3341

34-
35-
Сейчас давайте запишем что-нибудь очень маленькое. К примеру, 1 микросекунду (одна миллионная секунды):
42+
А сейчас давайте запишем что-нибудь очень маленькое. К примеру, 1 микросекунду (одна миллионная секунды):
3643

3744
```js
38-
let ms = 0.000001;
45+
let mcs = 0.000001;
3946
```
4047

41-
Записать микросекунду в укороченном виде нам поможет `"e"`.
48+
В этом случае нам также поможет `"e"`. Если мы хотим избежать записи длинной последовательности из нулей, мы можем сделать так:
4249

4350
```js
44-
let ms = 1e-6; // шесть нулей, слева от 1
51+
let ms = 1e-6; // шесть нулей слева от 1
4552
```
4653

47-
Если мы подсчитаем количество нулей `0.000001`, их будет 6. Естественно, верная запись `1e-6`.
54+
Если мы подсчитаем количество нулей в `0.000001`, их будет 6. Естественно, верная запись `1e-6`.
4855

49-
Другими словами, отрицательное число после `"e"` подразумевает деление на 1 с указанным количеством нулей:
56+
Другими словами, отрицательное число после `"e"` подразумевает деление на `1` с указанным количеством нулей:
5057

5158
```js
5259
// 1 делится на 1 с 3 нулями
53-
1e-3 = 1 / 1000 (=0.001)
60+
1e-3 === 1 / 1000 (=0.001)
5461

5562
// 1.23 делится на 1 с 6 нулями
56-
1.23e-6 = 1.23 / 1000000 (=0.00000123)
63+
1.23e-6 === 1.23 / 1000000 (=0.00000123)
5764
```
5865

5966
### Шестнадцатеричные, двоичные и восьмеричные числа
@@ -67,11 +74,10 @@ alert( 0xff ); // 255
6774
alert( 0xFF ); // 255 (то же самое, регистр не имеет значения)
6875
```
6976

70-
Не так часто используются двоичные и восьмеричные числа, но они также поддерживаются `0b` для двоичных и `0o` для восьмеричных:
71-
77+
Двоичные и восьмеричные числа используются не так часто, но они также поддерживаются: `0b` для двоичных и `0o` для восьмеричных:
7278

7379
```js run
74-
let a = 0b11111111; // бинарная форма записи числа 255
80+
let a = 0b11111111; // двоичная (бинарная) форма записи числа 255
7581
let b = 0o377; // восьмеричная форма записи числа 255
7682

7783
alert( a == b ); // true, с двух сторон число 255

0 commit comments

Comments
 (0)