Re[3]: Откуда эта лютая любовь к знаковым целым?
От: Pavel Dvorkin Россия  
Дата: 05.05.20 14:56
Оценка: 1 (1) +2
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Подобные рассуждения хороши для языков совсем уж высокого уровня, где разрядность значения всегда остается где-то на заднем плане. В C/C++ она является одним из ключевых признаков типа. Если программист недостаточно хорошо понимает особенности представления, C/C++ однозначно не для него.


Женя, я достаточно хорошо их понимаю, но мне откровенно не хочется заниматься анализом выражения на предмет того, где там может оказаться преобразование от int к unsigned int, которое, мягко говоря, выполняется способом, далеким от очевидности. Проще говоря, мне не хочется думать про -1, которая вдруг может оказаться 2^32-1. На эти грабли я натыкался и больше не хочу.

Чего ты добьешься, перейдя на unsigned ? Увеличения диапазона положительных чисел в 2 раза ? Смысла в этом немного, так как 2 миллиарда или 4 миллиарда — как правило, черт один, вполне хватит. А если не хватит, то надо на 64 бита переходить, а не бороться за один бит.

А больше я ничего не вижу. Зато я знаю, что если в результате арифметики с положительными числами результат оказался отрицательным там, где такого не должно быть,то ошибку надо искать в алгоритме, а не в неявных преобразованиях.
With best regards
Pavel Dvorkin
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.