![]() |
|
|
![]()
|
|
| Stream |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 29.10.2005 Репутация: нет Всего: нет |
нужно написать функцию log(x, y), которая реализует логарифм x по основанию y
fld1 fld qword ptr [esp + 4] fyl2x ret возвращает логарифм по основанию 2, помогите переделать для вышеописанного случая |
|||
|
||||
| St. Andrew |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 142 Регистрация: 28.3.2005 Где: Санкт-Петербург Репутация: 1 Всего: 8 |
Мне кажется, что нужно преобразовать основание к двойке. Сейчас я на работе и формул под рукой нет
Проблема здесь, на мой взгляд, решить показательное уравнение 2^n=y Но это уравнение можно преобразовать в логарифм log2(y)=n Отсюда можно найти n . Затем мы , как я уже говорил, закидываем в st(1) 1/n , в st(0) закидываем аргумент x вызываем fyl2x В вершине стека имеем заданный логарифм!
Это сообщение отредактировал(а) St. Andrew - 2.11.2005, 16:04 --------------------
Оглянитесь вокруг! В мире так много прекрасного! |
|||
|
||||
| Дрон |
|
|||
![]() Java-ненавистник :) ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3179 Регистрация: 29.12.2002 Где: Санкт-Петербург Репутация: нет Всего: 93 |
Насколько я помню со школы:
log (b,a) = log (b,c) / log (a,c) Где log (b,a) -- логарифм b по основанию a. Т.е. для твоего случая log (x, y) = log (x, 2) / log (y, 2) -------------------- Да. Именно так. |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 1 Всего: 454 |
log(x,y) = log(x,2) / log(y,2)
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| St. Andrew |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 142 Регистрация: 28.3.2005 Где: Санкт-Петербург Репутация: 1 Всего: 8 |
Не успел сообщение отредактировать, как уже другой вариант написали! Я проверил, мой тоже работает! Хотя и формула другая немного
--------------------
Оглянитесь вокруг! В мире так много прекрасного! |
|||
|
||||
![]()
|
| Правила форума "Asm для начинающих" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Asm для начинающих | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |