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.18.5/dart-core/BigInt/bitLength.html

Spec-Zone.ru

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