Expressions and statements
ES.101
Используйте беззнаковые типы для битовых операций
Причина
Беззнаковые типы поддерживают битовые операции без неожиданностей от знакового бита.
Пример
unsigned char x = 0b1010'1010;
unsigned char y = ~x; // y == 0b0101'0101;
Примечание
Беззнаковые типы также могут быть полезны для модульной арифметики. Однако если вы используете модульную арифметику, добавляйте комментарии, объясняющие зависимость от поведения при переполнении — такой код может быть неочевиден для многих программистов.
Контроль
- В общем случае практически невозможно из-за использования беззнаковых индексов в стандартной библиотеке.
- ???