Абстрактный метод 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.19.6/dart-core/int/toUnsigned.html