Заархивировано

Эта тема находится в архиве и закрыта для дальнейших ответов.

FanatGD

Fixed Point Math

Рекомендуемые сообщения

В книге «Секреты программирования игр» Андрэ Ла Мот прочитал об интересном способе оптимизации алгоритмов, использующих дробные числа. В одной из глав автор предлагает представить число содержащее как целую, так и десятичную часть внутри отдельного целого. Математика с фиксированной запятой, по его мнению, должна существенно ускорить процесс таких вычислений:

Известно, что вычисления с целыми выполняются гораздо быстрее, чем с дробными числами.

Хотелось бы узнать, насколько этот способ актуален для современных компьютеров. Не получится ли так, что используя лишние битовые операции, мы только потеряем в скорости вычислений? :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Выделение целой и дробных частей через битовые сдвиги?

 

А оно теперь нужно, если FPU вполне может обработать число за один такт? :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Выделение целой и дробных частей через битовые сдвиги?
Вроде того. Битовые сдвиги, как я понял, используются для преобразования числа с фиксированной запятой обратно в изначальное.

 

FPU вполне может обработать число за один такт
То есть, в современных процессорах уже предустановлен FPU? Тогда получается, что и смысла в этом нет?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как бы давно уже установлен, отдельным модулем считается. На асме доступны мнемоники для работы с FPU. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо. Стыдно признаться, но этот вопрос уже давно мучил, а знаний пока не хватает ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Думаю, стоит запостить на форум wasm.ru, там лучше обоснуют.

 

Я ассемблер плохо знаю пока, но смотрю иногда, во что компилируется мой код на C++. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты