BigInt.asUintN()
基线 广泛可用
此功能已建立良好,并在许多设备和浏览器版本中运行。它自 2020 年 9 月.
报告反馈
试试看
语法
BigInt.asUintN()
静态方法将 BigInt
值截断为给定数量的最低有效位,并将该值作为无符号整数返回。BigInt.asUintN(bits, bigint)
js
参数
-
bits
返回的 BigInt 可用的位数。应为 0 到 253 - 1 之间的整数(包含)。
-
bigint
要截断以适应提供的位的 BigInt 值。
返回值
bigint
模 2^bits
的值,作为无符号整数。
异常
-
RangeError
描述
如果 bits
为负数或大于 253 - 1,则抛出。
25n = 00011001 (base 2) ^==== Use only the four remaining bits ===> 1001 (base 2) = 9n
BigInt.asUintN
方法将 BigInt
值截断为给定的位数,并将结果解释为无符号整数。无符号整数没有符号位,始终为非负数。例如,对于 BigInt.asUintN(4, 25n)
,值 25n
将被截断为 9n
注意:BigInt
值始终以二进制形式的二进制补码形式编码。
示例
与类似的语言 API(例如 Number.prototype.toExponential()
)不同,asUintN
是 BigInt
的静态属性,因此您始终将其用作 BigInt.asUintN()
,而不是作为 BigInt 值的方法。将 asUintN()
公开为“标准库函数”允许 与 asm.js 交互。
保持在 64 位范围内
BigInt.asUintN()
静态方法将 BigInt
值截断为给定数量的最低有效位,并将该值作为无符号整数返回。const max = 2n ** 64n - 1n;
BigInt.asUintN(64, max); // 18446744073709551615n
BigInt.asUintN(64, max + 1n); // 0n
// zero because of overflow: the lowest 64 bits are all zeros
规格
BigInt.asUintN() 方法可用于保持在 64 位算术范围内。 |
---|
规格 # ECMAScript 语言规范 |
浏览器兼容性
sec-bigint.asuintn