bitLength 属性

int bitLength

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

位数不包括符号位,这给出了非负(无符号)值的自然长度。对于负值,通过补码运算找到与符号位不同的第一个位的位位置。

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

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

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

实现

int get bitLength;