मुख्य कंटेंट तक स्किप करें

Числа

@serverSerrverlesskiy

В современном JavaScript существует два 2️⃣ типа чисел:

number

Обычные числа в JavaScript хранятся в 64-битном формате IEEE-754, который также называют «числа с плавающей точкой двойной точности» (double precision floating point numbers). Это числа, которые мы будем использовать чаще всего. Целые числа не рассматриваются как отдельный тип чисел. В дополнение к числам с плавающей запятой, к числовому типу данных относятся также три символьные величины: Infinity, -Infinity, и NaN (не-число).

Numbers

bigInt

Числа дают возможность работать с целыми числами произвольной длины. Они нужны достаточно редко и используются в случаях, когда необходимо работать со значениями за пределами максимального безопасного целочисленного значения Number.

Любое число, пусть даже десятичная дробь с уймой знаков после запятой, никогда не берётся в кавычки.

Вы можете использовать четыре типа числовых литералов: десятичный, двоичный, восьмеричный и шестнадцатеричный. Так как три последних используются довольно редко, то мы опустим их детальное описание 🖊️ , ну а любопытные могут познакомиться с ними здесь.

caution

Будьте внимательны при использование нулей в начале чисел! Значит не надо ставить ноль перед десятичным числом.

1234567890
42

0888 // 888 обрабатывается как десятичное
0777 // обрабатывается как восьмеричное в нестрогой форме (511 в десятичной)

Арифметические действия

Arithmetic operation

По двум или нескольким целым числам можно составить новое целое число. Способов составлять новое целое число очень много. Способ составлять новое число по двум или нескольким числам называется арифметическим действием. Вообще арифметических действий много, но основных только четыре: сложение, вычитание, умножение и деление. Они названы основными, ибо все остальные действия приводятся к ним.

Знак плюс + используется для выражения сложения: 4 + 4 Ответ: 8

Минус для вычитания: 7 - 6 Ответ: 1

Звёздочкой * изображается умножение: 3 * 4 Ответ: 12

Прямым слэшем / деление: 15 / 5 Ответ: 3

Если в строке совершается более одного действия, то, чтобы отделить их друг от друга, а также сделать код📟 более читабельным, мы пользуемся — (скобками). Давайте наберём следующие предложения в консоли. Ответ по каждому из них должен состоять только из одной цифры9️⃣:

 3 * (2 + 1)
(3 + 9) / (10 - 6)
(2 + 3 * 4) / (6 + 1)
2 * (5 - 8 / 2) * (3 + 1)

Введите в LIVE EDITOR перечисленые значения 👇 :

लाइव एडिटर
परिणाम
Loading...

Комбинированное присваивание

Conbination

Оператор представляет собой символическое обозначение некоторого действия, выполняемого с операндами в выражении(Например: +, -, *, /).

Операнд представляет собой некоторую величину, обрабатываемую в программе. Операнды могут относиться к любому типу данных. Операнд слева от оператора - левый операнд, операнд справа от оператора - правый операнд.

Основной оператор комбинированного присваивания - это знак равно =, он и присваивает значение правого операнда, левому. То есть - x = y присваивает значение переменной 🔔 y, переменной 🔔 x.

Вы уже не раз видели, как при помощи математических операторов происходит присваивание значений переменным 🔔 . Например, так:

let sum = 2 + 3 // значение суммы 7

А ещё вы, наверное, не успели позабыть, что в любой момент можно изменить значение уже известной переменной 🔔 :

लाइव एडिटर
परिणाम
Loading...

Присваивание со сложением += для того, чтобы быстро увеличить значение переменной! Вот вам несколько примеров:

let значение = 5
значение += 2 // значение теперь 7 (то же самое, что значение = // значение + 2)
значение += 3 // значение теперь 10 (то же самое, что значение = // значение + 3)
значение = значение + значение // 20 (а можно просто значение += // значение)
значение += значение // 40 (то же самое, что значение = значение + // значение)

Вы ведь уже догадались, что подобные штуки работают и с прочими математическими действиями, да?!

значение –= 25 // значение теперь 15 (то же, что и значение = значение − // 25)
значение -= 2 // значение теперь 30 (то же самое, что значение = // значение - 2)
значение /= 3 // значение теперь 10 (то же самое, что значение = // value / 3)
значение // Ответ: 10

Далее проверьте все перечисленые примеры в LIVE EDITOR:

लाइव एडिटर
परिणाम
Loading...

Подробней о комбинированном присваивании можно почитать здесь

Инкремент и декремент

increment

Оператор ++ (инкремент) увеличивает значение своего операнда на единицу. Если значение операнда не является числом, оператор автоматически преобразует его в число, увеличивает на единицу и возвращает результат, который присваивается обратно операнду:

लाइव एडिटर
परिणाम
Loading...

Оператор -- (декремент) работает аналогично оператору инкремент, но не увеличивает значение своего операнда, а наоборот, уменьшает его на единицу:

लाइव एडिटर
परिणाम
Loading...

Оператор modulo

function

Знаком % (процентов) мы обозначаем остаток от деления. Оператор возвращает🔄 целый остаток от деления левого операнда на правый. Возвращаемое🔄 значение всегда получает знак делимого, а не делителя. Он использует встроенную функцию⚙️ modulo, для получения результата, которая является целочисленным остатком деления let1 на let2.

12 % 5 результат 2

NaN % 2 результат NaN

1 % 2 результат 1

2 % 3 результат 2

4 % 2 результат 0

5.5 % 2 результат 1.5

Проверьте все перечисленые примеры в LIVE EDITOR и сразу все поймете:

लाइव एडिटर
परिणाम
Loading...

Округление

Balls

Метод Math.round() возвращает🔄 число, округлённое к ближайшему целому. Если дробная часть числа больше, либо равна 0,5, аргумент будет округлён до ближайшего большего целого. Если дробная часть числа меньше 0,5, аргумент будет округлён до ближайшего меньшего целого.

result = Math.round(20.49) Вернёт значение 20

result = Math.round(20.5) Вернёт значение 21

проверьте сами:

लाइव एडिटर
परिणाम
Loading...

Проблемы?

Problem

Пишите в Discord или телеграмм чат, а также подписывайтесь на наши новости

Вопросы:

Question

Какие арифметические действия названы основными?

  1. Сложение, вычитание
  2. Умножение, деление
  3. Сложение, вычитание, умножение, деление

Как правильно читается +=?

  1. Инкремент
  2. Присваивание со сложением
  3. Плюс и равно

Как инкремент записывается знаком(знаками)?

  1. ++
  2. --
  3. +

Каким знаком обозначается остаток от деления?

  1. %
  2. /
  3. \

Какое значение Math.round вернёт при действии Math.round (20.62)?

  1. 22
  2. 20
  3. 21

Для того чтобы понять, на сколько вы усвоили этот урок, пройдите тест в мобильном приложении нашей школы по этой теме.

Sumerian school

Ссылки:

  1. MDN web docs
  2. Код для подростков: прекрасное руководство по программированию для начинающих, том 1: Javascript - Jeremy Moritz
  3. JavaScript.ru
  4. Арифметические действия с целыми числами

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Dmitriy Vasilev

📖💵

Resoner2005

🐛 🎨 🖋

Become a Patron!