Информация об изменениях

Сообщение Re: Откуда эта лютая любовь к знаковым целым? от 05.05.2020 8:00

Изменено 05.05.2020 8:01 Pavel Dvorkin

Re: Откуда эта лютая любовь к знаковым целым?
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Откуда такое пристрастие, кроме как от лени? Вроде как сколько-нибудь массовых процессоров, где беззнаковые целые поддерживались бы ограниченно, не существует. Есть в этом хоть какое-то рациональное зерно?


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

Резюме — программистам, имеющим образование выше начальной школы, лучше использовать знаковые аргументы и не париться.
Исключение их правила : использование целого как битовой шкалы. В этом случае, естественно, лучше без знака, так как арифметики тут не предвидится.
Re: Откуда эта лютая любовь к знаковым целым?
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Откуда такое пристрастие, кроме как от лени? Вроде как сколько-нибудь массовых процессоров, где беззнаковые целые поддерживались бы ограниченно, не существует. Есть в этом хоть какое-то рациональное зерно?


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

Резюме — программистам, имеющим образование выше начальной школы, лучше использовать знаковые аргументы и не париться.
Исключение их правила : использование целого как битовой шкалы. В этом случае, естественно, лучше без знака, так как арифметики тут не предвидится.