📜  JavaScript | BigInt.asUintN() 方法(1)

📅  最后修改于: 2023-12-03 15:01:39.192000             🧑  作者: Mango

JavaScript | BigInt.asUintN() 方法

在 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

在上面的示例中,我们传入了不同的 bitsbigint 值来调用 BigInt.asUintN() 方法,并打印出返回结果。结果表明,无符号整数 bigint 被限制在 bits 位之内。

注意事项
  • 如果位数小于或等于 0,则抛出 RangeError 异常。
  • 如果位数大于 53,则位数将被截断为 53。
  • 如果传入的 bigint 值是负数,则它将被视为二进制补码,并限制为无符号整数。但是,使用负数会导致限制的结果为非预期的值,因此应避免将负数作为参数传递。