- Division (/)
- Try it
- Syntax
- Description
- Examples
- Basic division
- Division by zero
- Specifications
- Browser compatibility
- See also
- Found a content problem with this page?
- MDN
- Support
- Our communities
- Developers
- Целочисленное деление в JavaScript
- Получите частное и остаток от целочисленного деления с помощью библиотеки Math в JavaScript
- Получите частное и остаток от целочисленного деления с помощью побитовых операторов в JavaScript
- JavaScript. Остаток от деления и деление без остатка
- Остаток от деления (деление по модулю)
- Деление без остатка
- Задача. Функция для определения простого числа
- Ваши вопросы и комментарии:
- Свежие записи
Division (/)
The division ( / ) operator produces the quotient of its operands where the left operand is the dividend and the right operand is the divisor.
Try it
Syntax
Description
The / operator is overloaded for two types of operands: number and BigInt. It first coerces both operands to numeric values and tests the types of them. It performs BigInt division if both operands becomes BigInts; otherwise, it performs number division. A TypeError is thrown if one operand becomes a BigInt but the other becomes a number.
For BigInt division, the result is the quotient of the two operands truncated towards zero, and the remainder is discarded. A RangeError is thrown if the divisor y is 0n . This is because number division by zero returns Infinity or -Infinity , but BigInt has no concept of infinity.
Examples
Basic division
1 / 2; // 0.5 Math.floor(3 / 2); // 1 1.0 / 2.0; // 0.5 1n / 2n; // 0n 5n / 3n; // 1n -1n / 3n; // 0n 1n / -3n; // 0n 2n / 2; // TypeError: Cannot mix BigInt and other types, use explicit conversions // To do division with a BigInt and a non-BigInt, convert either operand 2n / BigInt(2); // 1n Number(2n) / 2; // 1
Division by zero
2.0 / 0; // Infinity 2.0 / 0.0; // Infinity, because 0.0 === 0 2.0 / -0.0; // -Infinity 2n / 0n; // RangeError: Division by zero
Specifications
Browser compatibility
BCD tables only load in the browser
See also
Found a content problem with this page?
This page was last modified on Mar 28, 2023 by MDN contributors.
Your blueprint for a better internet.
MDN
Support
Our communities
Developers
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998– 2023 by individual mozilla.org contributors. Content available under a Creative Commons license.
Целочисленное деление в JavaScript
- Получите частное и остаток от целочисленного деления с помощью библиотеки Math в JavaScript
- Получите частное и остаток от целочисленного деления с помощью побитовых операторов в JavaScript
В этом руководстве будет обсуждаться, как получить частное и остаток от деления с помощью библиотеки Math и побитовых операторов в JavaScript.
Получите частное и остаток от целочисленного деления с помощью библиотеки Math в JavaScript
В JavaScript мы можем легко разделить две переменные, и результат будет в виде чисел с плавающей запятой, но если мы хотим получить частное и остаток от деления, мы можем использовать библиотеку Math , предоставляющую нам множество функций. . Например, мы можем получить частное от деления с помощью функции Math.floor() или Math.trunc() , которая преобразует число с плавающей запятой в целое число, а чтобы получить остаток, мы можем использовать % персонаж. Например, давайте найдем частное и остаток от 13, разделенного на 5. См. Код ниже.
var a = 13; var b = 5; var quo = Math.floor(a/b); var rem = a%b; console.log('Quotient = ',quo,'Remainder = ',rem);
Обратите внимание, что библиотека Math выйдет из строя, если числа будут слишком большими. Вы также можете использовать функцию Math.trunc() , которая может обрабатывать большие числа по сравнению с функцией Math.floor() . Функция Math.floor() не сработает в случае отрицательных чисел, но Math.trunc() не выйдет из строя в случае отрицательных чисел.
Получите частное и остаток от целочисленного деления с помощью побитовых операторов в JavaScript
В JavaScript мы можем получить частное и остаток от деления с помощью побитовых операторов. Например, мы можем получить частное от деления, используя побитовое NOT ~~ или побитовое OR |0 , которое преобразует число с плавающей запятой в целое. А чтобы получить остаток, мы можем использовать символ % . Например, давайте найдем частное и остаток от 13, разделенного на 5. См. Код ниже.
var a = 13; var b = 5; var quo = ~~(a/b); var rem = a%b; console.log('Quotient = ',quo,'Remainder = ',rem);
Как видите, результат такой же, как и у описанного выше метода. Производительность поразрядных операторов выше по сравнению с библиотекой Math , но способность обрабатывать большие числа меньше. Итак, если у вас маленькие числа, вы можете использовать побитовые операторы; в противном случае используйте библиотеку Math . Побитовые операторы также могут обрабатывать отрицательные числа. Вы также можете использовать функцию parseInt() для преобразования числа с плавающей запятой в целое число. Если вы не хотите использовать какие-либо функции, вы можете использовать простую формулу с оператором остатка % , как показано ниже.
var a = 13; var b = 5; var rem = a%b; var quo = (a-rem)/b; console.log('Quotient = ',quo,'Remainder = ',rem);
Как видите, результат такой же, как и у описанных выше методов.
Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.
JavaScript. Остаток от деления и деление без остатка
В этом посте мы рассмотрим как получить остаток и целое от деления в JS.
Остаток от деления (деление по модулю)
Чтобы получить остаток от деления мы можем воспользоваться оператором %
console.log(20 % 3) // 2 (3 * 6 = 18)
Как видно из примера, мы получим 2 — это и будет остаток от деления.
Где такое может понадобиться? Как пример, если в цикле вы будете генерировать строки таблицы и каждую 3 строку вам нужно будет стилизовать:
В данном примере показана каждая третья строка, но можно также сделать и с другим числом:
if (i % 2 === 0) — каждая вторая строка
if (i % 5 === 0) — каждая пятая строка
if (i % 10 === 0) — каждая 10я строка и т.д.
Другой пример, когда вам нужно проверить делимость числа например на 10 и 100 без остатка:
if (num % 10 === 0 && num % 100 === 0)
Деление без остатка
Чтобы получить целое число от деления можно использовать несколько вариантов.
Первый вариант, наиболее очевидный, это округление числа после операции деления:
let num1 = 10, num2 = 3; console.log(Math.floor(num1/num2)); // 3 (округление в меньшую сторону) console.log(Math.ceil(num1/num2)); // 4 (округление в большую сторону) console.log(Math.round(num1/num2)); // 3 (математическое округление) console.log(+(num1/num2).toFixed(0)); // 3 (математическое округление) console.log(parseInt((num1/num2))); // 3 (приведение к числу, будет отброшена дробная часть)
Подробнее про разные способы округления чисел (в меньшую и в большую сторону) можете прочитать по ссылке.
Еще один вариант, предложенный пользователем в комментариях:
Также есть другие варианты, с использованием битовых операций:
let num1 = 10, num2 = 3; console.log((num1/num2) | 0); // 3 console.log((num1/num2) >> 0); // 3
Задача. Функция для определения простого числа
Давайте теперь на примере посмотрим, как можно использовать остаток от деления для решения такой задачи. Простое число: это положительное число, которое делиться только на самого себя и на 1.
Итак, напишем функцию, которая на вход принимает какое-то число, дальше в цикле начиная с 2 (т.к. на единицу итак все делиться), пока счетчик меньше передаваемого числа, проверяем будет ли num делиться без остатка. Если делиться, значит num не является простым числом:
function isPrime(num) < for (let i = 2; i < num; i++) < if (num % i === 0) < return false; >> return num > 1; > console.log(isPrime(1)); // false console.log(isPrime(2)); // true console.log(isPrime(3)); // true console.log(isPrime(4)); // false console.log(isPrime(5)); // true
Ваши вопросы и комментарии:
Свежие записи
Копирование материалов разрешено только с ссылкой на источник Web-Dev.guru
2023 © Все права защищены.