Свойство 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;
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.19.6/dart-core/int/bitLength.html