LINUX.ORG.RU

История изменений

Исправление firkax, (текущая версия) :

Тоже самое можно сказать про код плохо обрабатывающий поведение signed.

Я про то, что корректная обработка unsigned делается проще и понятнее чем signed, и при её реализации меньше шанс о чём-то забыть и допустить баг.

Я про корректные с точки зрения стандарта.

Прекращай демагогию.

__builtin_add_overflow который есть в gcc 3 и clang 3

А в каком-нить другом компиляторе нету.

В любом случае, это не единственная причина предпочитать unsigned. Знаковость так или иначе 1) требует специальной обработки в ряде мест, 2) отжирает на себя диапазон представления полезных положительных чисел на целых бит. Там, где она при этом ничего не даёт взамен - не надо её вводить. Аргументы вида «я не понимаю беззнаковую математику» отвергнем, т.к. умственно отсталым личностям в любом случае нечего делать в Си.

Исходная версия firkax, :

Тоже самое можно сказать про код плохо обрабатывающий поведение signed.

Я про то, что корректная обработка unsigned делается проще и понятнее чем signed, и про её реализации меньше шанс о чём-то забыть и допустить баг.

Я про корректные с точки зрения стандарта.

Прекращай демагогию.

__builtin_add_overflow который есть в gcc 3 и clang 3

А в каком-нить другом компиляторе нету.

В любом случае, это не единственная причина предпочитать unsigned. Знаковость так или иначе 1) требует специальной обработки в ряде мест, 2) отжирает на себя диапазон представления полезных положительных чисел на целых бит. Там, где она при этом ничего не даёт взамен - не надо её вводить. Аргументы вида «я не понимаю беззнаковую математику» отвергнем, т.к. умственно отсталым личностям в любом случае нечего делать в Си.