JavaScript BigInt.asUintN() — обрізати число до N біт без знака


Статичний метод BigInt.asUintN() обрізає число до N біт без знака — результат завжди невід'ємний.

автор: NagarD

Загальний опис

Дзеркальний до asIntN(). Різниця в тому, як тлумачити старший біт: тут він частина числа, а не знак.

Тому те саме двійкове значення дає різні результати: як int64 це може бути від'ємне число, як uint64 — величезне додатне.

Саме так читають беззнакові поля двійкових форматів і 64-бітні ідентифікатори — ті самі id соцмереж, які не влазять у звичайний Number.

автор: NagarD

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
asUintN 67+ 68+ 14+ 54+ 79+ -
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
asUintN 67+ yes yes 14+

Приклади

+ запропонувати свій приклад у пісочниці

Ті самі біти, два різні тлумачення.

const value = -1n;

console.log(BigInt.asIntN(64, value));  // -1n
console.log(BigInt.asUintN(64, value)); // 18446744073709551615n — те саме, без знака

// беззнакове 8-бітне: 0..255
console.log(BigInt.asUintN(8, 300n)); // 44n
console.log(BigInt.asUintN(8, -1n));  // 255n
автор: NagarD

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід