Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.05.2015, 09:51   #1
A1eksand
 
Регистрация: 29.04.2015
Сообщений: 7
По умолчанию

Подскажите как Delphi оптимизирует деление и умножение на 10,100,...
Как эффективнее это сделать на паскале и asm ?

Что кроме замены деления умножением?

Последний раз редактировалось Stilet; 10.06.2015 в 12:34.
A1eksand вне форума Ответить с цитированием
Старый 10.06.2015, 12:35   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Как эффективнее это сделать на паскале
Никак. Там тоже есть оптимизатор, и этим должен заниматься он.
Цитата:
и asm
Если деление целочисленное то операцией div. Если вещественное, то операциями через FPU. С математическим сопроцессором работать умеешь?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 10.06.2015, 13:55   #3
S_Yevgeniy
Форумчанин
 
Аватар для S_Yevgeniy
 
Регистрация: 08.07.2009
Сообщений: 246
По умолчанию

Если вы просто в учебных целях то можно смотреть где запятая и двигать ее в сторону в зависимости от количества нулей и операции. Но думаю расчеты будут куда шустрее, чем определения запятой и ее перенос.
Да прибудет с Вами свет и радость!!!
S_Yevgeniy вне форума Ответить с цитированием
Старый 10.06.2015, 18:52   #4
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Можно оптимизировать только целочисленное деление/умножение на 2. Использовать вместо этого сдвиг.

Я не знаю, можно ли как-то получить доступ к показателю степени в типе Double например. Тогда можно было было оптимизировать деление действительных на 10. Если конечно, овчинка стоит выделки.
type_Oleg вне форума Ответить с цитированием
Старый 10.06.2015, 19:10   #5
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Никак. Там тоже есть оптимизатор, и этим должен заниматься он.
Фигушки. В настройках компиля, есть фишка, оптимизировать по-быстродействию или по размеру кода. Как ни покажется странным, но одно другому мешает. Не зря там радиокнопка стоит.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder

Последний раз редактировалось Smitt&Wesson; 10.06.2015 в 19:15.
Smitt&Wesson вне форума Ответить с цитированием
Старый 10.06.2015, 19:10   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
получить доступ к показателю степени в типе Double например
чего нельзя, можно, только толку - вещественные тоже двоичные и порядок степень двойки, а не десятки
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Метод итерация и метод половинного деления Delphi gabach Помощь студентам 1 24.12.2014 07:43
Реализовать алгоритмы умножения и деления двоичных чисел на языке vhdl в среде Quartus aggelqt Фриланс 0 14.05.2014 17:39
Turbo Pascal[програмыки : текстовая\метод симпсона\метод половинного деления qsccsq Помощь студентам 7 24.12.2010 05:23
Замена умножения и деления Alex Cones Общие вопросы Delphi 16 05.09.2010 18:00
Безумно сложные задачки!!!! Метод Гаусса, итераций, метод половинного деления, задача Коши и т.д. Хомяк!!!!! Помощь студентам 4 08.07.2009 10:08