toUnsigned 抽象方法

BigInt toUnsigned(
  1. int width
)

返回这个大整数的最低有效 width 位作为一个非负数(即无符号表示)。返回值在所有高于 width 的位位置上都是零。

BigInt.from(-1).toUnsigned(5) == 31   // 11111111  ->  00011111

此操作可以用于模拟底层语言的算术。例如,增加一个8位量

q = (q + 1).toUnsigned(8);

q 将从 0 计数到 255,然后回绕到 0

如果输入可以在不截断的情况下适合 width 位,则结果与输入相同。避免截断 x 所需的最小宽度由 x.bitLength 给出,即

x == x.toUnsigned(x.bitLength);

实现

BigInt toUnsigned(int width);