IPB
ЛогинПароль:

> ПРАВИЛА РАЗДЕЛА!!!

1. Заголовок или название темы должно быть информативным
2. Все тексты программ должны помещаться в теги [CODE=asm] [/CODE]
3. Прежде чем задавать вопрос, см. "FAQ",если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно, такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Ассемблера. Исключение только с согласия модератора.
5. НЕ используйте форум для личного общения! Все, что не относиться к обсуждению темы - на PM!
6. Проверяйте программы перед тем, как выложить их на форум!!

 
 Ответить  Открыть новую тему 
> Быстро умножить вещественное число на степень двойки., Операция ж простейшая.
сообщение
Сообщение #1


Злостный любитель
*****

Группа: Пользователи
Сообщений: 1 755
Пол: Мужской

Репутация: -  62  +


Как это сделать, не прибегая к fmul? Есть ли для этого специальная команда?


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гуру
*****

Группа: Пользователи
Сообщений: 1 168
Пол: Мужской
Реальное имя: Сергей Андрианов

Репутация: -  28  +


Это зависит т формы записи числа.
Если с фиксированной точкой, то число сдвигается влево на количество разрядов равное показателю степени.
Если в экспоненциальном, то к экспоненте прибавляется показатель степени.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Злостный любитель
*****

Группа: Пользователи
Сообщений: 1 755
Пол: Мужской

Репутация: -  62  +


Цитата(andriano @ 31.10.2009 22:53) *

Это зависит т формы записи числа.
Если с фиксированной точкой, то число сдвигается влево на количество разрядов равное показателю степени.

Было б всё так просто. Увы, у меня плавающая точка.
Цитата

Если в экспоненциальном, то к экспоненте прибавляется показатель степени.

Это-то понятно, но как обратиться именно к экспоненте? Есть ли специальная команда у сопроцессора?


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(TarasBer @ 31.10.2009 22:59) *
Есть ли специальная команда у сопроцессора?
TarasBer, ты всерьез полагаешь, что команда сопроцессора включена в Паскаль? Пожалуйста, посмотри вот это: КО ВСЕМ УЧАСТНИКАМ ФОРУМА .

М
Тема переносится из Теретических Вопросов в Ассемблер



--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






Цитата
Как это сделать, не прибегая к fmul?
Через FSCALE ...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Злостный любитель
*****

Группа: Пользователи
Сообщений: 1 755
Пол: Мужской

Репутация: -  62  +


Спасибо, вроде разобрался.
Надо записать в стек 2 числа, первое из них - степень, второе - то, что скалим, потом не забыть вынуть из стека тоже 2 числа.


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Гуру
*****

Группа: Пользователи
Сообщений: 1 168
Пол: Мужской
Реальное имя: Сергей Андрианов

Репутация: -  28  +


Стек - не единственное место, куда можно положить.
Можно, например, воспользоваться оперативной памятью. (это не тавтология, стек не обязан располагаться в ОЗУ)
Можно выделить из числа нужные биты, изменить их и вписать обратно. Но вероятнее всего, это займет больше времени как в процессе кодирования, так и выполнения.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Злостный любитель
*****

Группа: Пользователи
Сообщений: 1 755
Пол: Мужской

Репутация: -  62  +


Цитата(andriano @ 1.11.2009 13:53) *
Но вероятнее всего, это займет больше времени как в процессе кодирования, так и выполнения.


Да я надеюсь. Иначе нафиг этот сопроцессор нужен, если ручная эмуляция быстрее.


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.03.2024 14:06
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name