JavaScript BigInt.asUintN() — обрізати число до N біт без знака
Статичний метод BigInt.asUintN() обрізає число до N біт без знака — результат завжди невід'ємний.
автор: NagarD
Загальний опис
Дзеркальний до asIntN(). Різниця в тому, як тлумачити старший біт: тут він частина числа, а не знак.
Тому те саме двійкове значення дає різні результати: як int64 це може бути від'ємне число, як uint64 — величезне додатне.
Саме так читають беззнакові поля двійкових форматів і 64-бітні ідентифікатори — ті самі id соцмереж, які не влазять у звичайний Number.
автор: NagarD
Переглядачі
Приклади
+ запропонувати свій приклад у пісочниці
Ті самі біти, два різні тлумачення.
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