Re: Откуда эта лютая любовь к знаковым целым?
От: Alexander G Украина  
Дата: 05.05.20 12:24
Оценка: 4 (1) +2 :)
Здравствуйте, Евгений Музыченко, Вы писали:

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


С точки зрение перформанса, есть случаи, где беззнаковые немного лучше, и нет случаев, где знаковые лучше. Примеры пользы беззнаковых:
— замена деления на степень двойки на сдвиг. Включая неявное деление в i < container.size()
- fused операция при сравнении и переходе: while (i > 0) или for ( i ; i < 10 ; i++ ) CMP и JCC выполняются как одна операция только для беззнаковых. нет, уже для любых
— обычные умножение/деление быстрее для беззнаковых

С точки зрения корректности, знаковые как бы ограждают от одного типа ошибок (отрицательное число -> переполнение), но вносят другие (отрицательное число -> выход за диапазон), шило на мыло.

Возможно польза лишь в универсальности — если отказаться от многообразия типов, то использовать только лишь знаковые легче, чем только лишь беззнаковые.
Русский военный корабль идёт ко дну!
Отредактировано 07.05.2020 14:29 Alexander G . Предыдущая версия . Еще …
Отредактировано 05.05.2020 12:25 Alexander G . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.