Абстрактный метод toUnsigned
int toUnsigned(Возвращает наименее значащие 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 Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/1.24.3/dart-core/int/toUnsigned.html