Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Да, перегнул. По стандарту достаточно и того, что оба... 23.08.07 17:34 Число просмотров: 5214
Автор: crontab Статус: Незарегистрированный пользователь
|
> Извиняюсь, но с "чутьем" тут перегнуто. Есть правило: если > оба операнда целые, то и результат число целое. Иногда > может помочь еще одно правило: результат арифметических > операций над целыми числами округляется до ближайшего > целого в меньшую сторону.
Да, перегнул. По стандарту достаточно и того, что оба операнда целые.
> Правило оптимизирующих компиляторов: если делитель или > второй множитель константа типа 2 в степени N, то операция > деления/умножения заменяется сдвигом. На данный момент > процессоры умеют сделать сдвиг за один такт, а умножать > пока еще за несколько, ну а делить за log2(делитель).
Насчет log2 - это немного устаревшие данные. По-моему уже начиная с 386 у Интела был какой-то новый алгоритм, который делил очень быстро и за фиксированное количество тактов.
FDIV на Пентиуме выполняется примерно за 15 тактов для single precision и 30 - для double. Это против одного такта для сдвига - по-моему разница существенная.
|
|
|