Метод toUnsigned
- int width
Возвращает наименее значимые width биты этого целого числа как неотрицательное число (т.е. представление без знака). Возвращаемое значение имеет нули во всех позициях битов выше width.
(-1).toUnsigned(5) == 31 // 11111111 -> 00011111
Эта операция может использоваться для моделирования арифметики из языков низкого уровня. Например, для инкремента 8-битной величины:
q = (q + 1).toUnsigned(8);
q будет считать от 0 до 255 и затем переполнится до 0.
Если входное значение помещается в width битов без усечения, результат будет таким же, как и входное значение. Минимальная ширина, необходимая для предотвращения усечения x, задаётся x.bitLength, т.е.
x == x.toUnsigned(x.bitLength);
Реализация
int toUnsigned(int width);
© 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/int/toUnsigned.html