Returns the minimum number of bits required to store this big integer.
The number of bits excludes the sign bit, which gives the natural length for non-negative (unsigned) values. Negative values are complemented to return the bit position of the first bit that differs from the sign bit.
To find the number of bits needed to store the value as a signed value, add one, i.e. use x.bitLength + 1
.
x.bitLength == (-x-1).bitLength new BigInt.from(3).bitLength == 2; // 00000011 new BigInt.from(2).bitLength == 2; // 00000010 new BigInt.from(1).bitLength == 1; // 00000001 new BigInt.from(0).bitLength == 0; // 00000000 new BigInt.from(-1).bitLength == 0; // 11111111 new BigInt.from(-2).bitLength == 1; // 11111110 new BigInt.from(-3).bitLength == 2; // 11111101 new BigInt.from(-4).bitLength == 2; // 11111100
int get bitLength;
© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/2.0.0/dart-core/BigInt/bitLength.html