Демистифицируем BigInt в JavaScript: укрощение больших чисел для современной сети

Привет, коллеги-разработчики! Сегодня мы погружаемся в мир BigInt в JavaScript. Если вы когда-нибудь сталкивались с ситуацией, когда вам нужно было работать с действительно большими числами, вы могли столкнуться с неожиданным поведением. Не бойтесь, потому что BigInt здесь, чтобы спасти положение! В этой статье мы рассмотрим, что такое BigInt, почему он полезен, и продемонстрируем различные методы работы с BigInt в JavaScript. Итак, засучим рукава и начнем!

Что такое BigInt?
В JavaScript BigInt — это встроенный тип данных, представленный в ECMAScript 2020. Он специально разработан для обработки целых чисел произвольной длины, что позволяет работать с числами, выходящими за пределы обычного 53-битного ограничения. типа Число. BigInts обозначаются добавлением буквы “n” в конец целого числа или использованием конструктора BigInt().

Создание BigInt:
Чтобы создать BigInt, вы можете просто добавить букву «n» в конец целого числа:

const bigNum = 12345678901234567890n;

Альтернативно вы можете использовать конструктор BigInt():

const bigNum = BigInt("12345678901234567890");

Основные операции.
BigInts поддерживают основные арифметические операции, такие как сложение, вычитание, умножение и деление. Давайте посмотрим на несколько примеров кода:

const x = 10n;
const y = 20n;
const sum = x + y;
const difference = x - y;
const product = x * y;
const quotient = x / y;
console.log(sum); // Output: 30n
console.log(difference); // Output: -10n
console.log(product); // Output: 200n
console.log(quotient); // Output: 0n

Методы преобразования.
Иногда вам может потребоваться преобразовать BigInt в обычное число или наоборот. Вот несколько методов преобразования:

Чтобы преобразовать BigInt в число, вы можете использовать функцию Number():

const bigNum = 12345678901234567890n;
const num = Number(bigNum);
console.log(num); // Output: 1.2345678901234567e+19

Чтобы преобразовать число в BigInt, вы можете использовать конструктор BigInt()или добавить «n» в конец числа:

const num = 12345678901234567890;
const bigNum1 = BigInt(num);
const bigNum2 = numn;
console.log(bigNum1); // Output: 12345678901234567890n
console.log(bigNum2); // Output: 12345678901234567890n

Методы сравнения.
При работе с BigInts их можно сравнивать с помощью операторов сравнения, таких как <, >, <=, >=, ==и !=. Вот пример:

const x = 10n;
const y = 20n;
console.log(x < y); // Output: true
console.log(x > y); // Output: false
console.log(x == y); // Output: false

Другие полезные методы.
BigInts также имеет несколько встроенных методов для выполнения операций и манипулирования числами. Вот несколько примеров:

  • BigInt.asUintN(bits, bigint): возвращает BigInt с той же битовой комбинацией, что и bigint, но усеченной до bitsбит.

  • BigInt.asIntN(bits, bigint): возвращает BigInt с той же битовой комбинацией, что и bigint, но усекается до bitsбит и интерпретируется как двойка. дополняющее целое число со знаком.

  • BigInt.toString(base): преобразует BigInt в строковое представление, используя указанный base(например, 2 для двоичного числа, 10 для десятичного, 16 для шестнадцатеричного).

  • BigInt.valueOf(): возвращает примитивное значение BigInt.

И вот оно! Мы изучили основы BigInt в JavaScript и научились эффективно работать с большими числами. BigInt поможет вам выполнить арифметические операции, преобразовать типы или сравнить значения. Так что в следующий раз, когда вы столкнетесь с ситуацией, когда вам придется обрабатывать действительно большие числа, не переживайте: BigInt — ваш новый лучший друг в JavaScript!

Не забудьте тщательно протестировать свой код и убедиться, что BigInt поддерживается в ваших целевых средах, поскольку он может быть недоступен в старых браузерах или версиях JavaScript.

Удачного программирования!