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