Перейти к содержанию
СофтФорум - всё о компьютерах и не только

Деление и умножение


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

Как сделать умножение на целое число понятно. А как сделать умножение и, главное, деление на действительное число с помощью ТОЛЬКО сложения и умножения?

Надо для работы на Assembler`е. Там, конечно, есть и умножение, и деление, но препод тонко намекнул, что его используют крайне тупые и ограниченные люди :D И ещё это очень тормозит работу программы. Поэтому надо эти действия организовать самому.

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

  • 2 недели спустя...

Kuzmich

Спасибо за совет.

Но идея витала в воздухе. Если умножение - это n раз сложить, то деление - сколько раз можно вычесть. Вот так.

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

Враньё.

Справка по командам ассемблера (в микрооперациях для P6):

SUB r,r - 1m

ADD r,r - 2m

MUL r32 - 3m

DIV r32 - 4m

FADD m32 - 2m (3/1 FX на P5)

FIDIV m32 - C (42 NP на P5)

FISUB m32 - C (7/4 NP на P5)

FMUL m32 - 2m (3/1 FX на P5)

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

kolya7k

Извините, враньё что?

Не хочу показаться безграмотным, но что за буквы "m"? Кол-во тактов процессора?

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

Враньё то, что деление и умножение в сумме будет медленней, чем несколько раз сложить.

Тем более деление простым вычитанием НИКОГДА не заменить.

А то, что вы не поняли того, что я написал означает то, что вы плохо знаете ассемблер.

m - это микрооперация. В последних пентиумах уже двано не используются операции и такты как таковые.

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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...