📅  最后修改于: 2023-12-03 15:01:39.192000             🧑  作者: Mango
在 JavaScript 中,BigInt 类型提供了处理超出普通 Number 类型范围的整数的能力。 BigInt.asUintN() 方法用于将一个 BigInt 对象限制为指定位数内的无符号整数。
BigInt.asUintN(bits, bigint)
bits
:限制的位数,应为 1 到 53 之间的整数。bigint
:需要限制的 BigInt 对象。一个 BigInt 对象,该对象是将 bigint
限制为 bits
位之后的无符号整数。
console.log(BigInt.asUintN(8, 300n)); // 44n
console.log(BigInt.asUintN(16, 65535n)); // 65535n
console.log(BigInt.asUintN(32, 4294967295n)); // 4294967295n
console.log(BigInt.asUintN(64, 18446744073709551615n)); // 18446744073709551615n
console.log(BigInt.asUintN(4, 15n)); // 15n & 15n = 15n
console.log(BigInt.asUintN(4, -1n)); // -1n & 15n = 15n
在上面的示例中,我们传入了不同的 bits
和 bigint
值来调用 BigInt.asUintN()
方法,并打印出返回结果。结果表明,无符号整数 bigint
被限制在 bits
位之内。
RangeError
异常。bigint
值是负数,则它将被视为二进制补码,并限制为无符号整数。但是,使用负数会导致限制的结果为非预期的值,因此应避免将负数作为参数传递。