bitLength 属性

int bitLength

返回存储此大整数所需的最小位数。

位数不包括符号位,这给出了非负(无符号)值的自然长度。负值通过对第一位与符号位不同的位取补来返回。

要找到存储值为有符号值所需的位数,加一,即使用 x.bitLength + 1

x.bitLength == (-x-1).bitLength;

BigInt.from(3).bitLength == 2;   // 00000011
BigInt.from(2).bitLength == 2;   // 00000010
BigInt.from(1).bitLength == 1;   // 00000001
BigInt.from(0).bitLength == 0;   // 00000000
BigInt.from(-1).bitLength == 0;  // 11111111
BigInt.from(-2).bitLength == 1;  // 11111110
BigInt.from(-3).bitLength == 2;  // 11111101
BigInt.from(-4).bitLength == 2;  // 11111100

实现

int get bitLength;