|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
15.07.2014, 17:37 | #11 |
Пользователь
Регистрация: 03.07.2014
Сообщений: 32
|
У вас множитель целый - вот его и надо сдвигать, последовательно проверяя биты. А float - складывать: (x+=x как умножение на 2)
Например, 1000000 десятичное - это 11110100001001000000 двоичное. Значит как-то так смотрим за младшим битом: Код:
|
15.07.2014, 17:41 | #12 |
Пользователь
Регистрация: 25.11.2006
Сообщений: 40
|
люди помогите примером
|
15.07.2014, 17:56 | #13 |
Пользователь
Регистрация: 03.07.2014
Сообщений: 32
|
cм. выше на 4 минуты
|
15.07.2014, 18:51 | #14 | |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
Цитата:
|
|
15.07.2014, 20:19 | #15 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
16.07.2014, 10:40 | #16 | |
Пользователь
Регистрация: 25.11.2006
Сообщений: 40
|
Цитата:
Код:
В чем может быть проблема !!!! Последний раз редактировалось AlexVI; 16.07.2014 в 10:46. |
|
16.07.2014, 12:19 | #17 |
Пользователь
Регистрация: 25.11.2006
Сообщений: 40
|
Вот что получилось:
PHP код:
2. Умножения нет; 3. Разобрался хоть так, но смещение так и нет; 4. Если у кого все таки есть пожелание чем умножение заменить (более быстрым алгоритмом) буду рад; |
16.07.2014, 13:14 | #18 |
Пользователь
Регистрация: 03.07.2014
Сообщений: 32
|
Если вдвое больше получается, значит где-то у меня или у вас лишнее сложение, в отладчике пошагово посмотрите.
Конечно 2 float-а перемножить быстрее. Это в очень старых процессорах умножение было во много раз медленнее, чем сложение, и на этом иногда экономили. Если я не ошибаюсь, то сейчас из простых арифметических операций остался смысл экономить только на делении (и то не факт). Но даже деление нет смысла конвертировать в сдвиги и прочее, т.к. обойдется дороже. Исключение - деление целых на степени двойки, что быстрее делать через сдвиги. Экономить стоит в первую очередь на сложных операциях вроде sin/cos и на вызовах функций (особенно системных). |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
таблица умножения | narco3 | Помощь студентам | 2 | 04.10.2011 20:11 |
Таблица умножения | romantik2011 | PHP | 3 | 11.08.2011 19:24 |
Замена умножения сложением со сдвигом - ошибка при компиляции... | Nura | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 9 | 17.02.2011 06:18 |
Замена умножения и деления | Alex Cones | Общие вопросы Delphi | 16 | 05.09.2010 18:00 |
Замена кода программы с Delhi5 на Delhi7 либо замена базы данных с Acessa на MySQL | DorianLeroy | Фриланс | 8 | 18.02.2009 18:52 |