Spec-Zone.ru › Dart 2

dart:core

свойство 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;

© 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/BigInt/bitLength.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API