Здравствуйте, Евгений Музыченко, Вы писали:
ЕМ>Откуда такое пристрастие, кроме как от лени? Вроде как сколько-нибудь массовых процессоров, где беззнаковые целые поддерживались бы ограниченно, не существует. Есть в этом хоть какое-то рациональное зерно?
Операции, в которых участвуют исключительно знаковые аргументы, производятся по правилам обычной школьной арифметики (mod 2^31 держим в уме, конечно)
Операции, в которых используются исключительно беззнаковые аргументы, хороши, пока дело ограничивается арифметикой на уровне начальной школы — до того момента, когда в школе начинают изучать отрицательные числа. Вопрос о том, можно ли от 1 отнять 2, и что при этом будет, блокируется Марией Ивановной со словами "об этом вам расскажут в 5 классе"
Операции, в которых одновременно используются знаковые и беззнаковые аргументы, требуют внимательного рассмотрения в каждом случае — иначе можно такое получить, что не дай бог. Причем самое скверное, что получить это можно иногда в 0.01% случаев, так что и не протестируешь порой как следует.
Резюме — программистам, имеющим образование выше начальной школы, лучше использовать знаковые аргументы и не париться.
Исключение их правила : использование целого как битовой шкалы. В этом случае, естественно, лучше без знака, так как арифметики тут не предвидится.