Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Деление с высокой точностью, в eax не влезает всё, что нужно 
V
    Опции темы
Diabolus
  Дата 11.8.2008, 00:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 45
Регистрация: 12.6.2007

Репутация: нет
Всего: нет



Нужно делить числа с точностью хотя бы 50 знаков после запятой, ну и до запятой немного. Как это реализовать, если в eax после div'а столько не влезает?
 smile 

Это сообщение отредактировал(а) Diabolus - 12.5.2010, 09:49
PM MAIL   Вверх
Akina
Дата 11.8.2008, 08:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 1
Всего: 454



Использовать библиотеки работы со сверхдлинными числами.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Diabolus
Дата 11.8.2008, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 45
Регистрация: 12.6.2007

Репутация: нет
Всего: нет



А без них - никак? Вообще я здесь асм юзаю как асмовую вставку, поэтому если не получается без внешних библиотек, то проще уж будет чисто на сях написать.
Тема ещё актуальна, если у кого будут какие идеи - пишите.
PM MAIL   Вверх
Akina
Дата 11.8.2008, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 1
Всего: 454



Есть и сишные либы работы со сверхдлинными...


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
airyashov
Дата 13.8.2008, 14:13 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 284
Регистрация: 1.7.2008

Репутация: 2
Всего: 6



вообще-то div это целочисленное деление причем тут запятая.
для того чтобы вам помочь нужно понять, зачем делить с такой точностью, если просто поделить и вывести проблем нет, а если потом требуется использовать такие числа, то это (1) +1

Это сообщение отредактировал(а) airyashov - 13.8.2008, 14:14


--------------------
icq:3(один)7748666
mail:airyashov( а )inbox.ru
PM MAIL   Вверх
Mikl_
Дата 14.8.2008, 11:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 537
Регистрация: 9.11.2007

Репутация: 8
Всего: 14



Diabolus используй fpu или mmx инструкции smile 
PM MAIL   Вверх
nornad
Дата 14.8.2008, 14:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1079
Регистрация: 16.2.2007
Где: в Караганде

Репутация: нет
Всего: 31



Ну или в крайнем случае нарисуй свои функции на асме для деления - там ничего особо сложного нет.


--------------------
Три достоинства программиста: Леность, Нетерпение и Гордость
Ларри Уолл
PM MAIL WWW ICQ Skype MSN   Вверх
Diabolus
Дата 15.8.2008, 22:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 45
Регистрация: 12.6.2007

Репутация: нет
Всего: нет



Mikl_, пытался с FPU, но не вышло :(
PM MAIL   Вверх
Mikl_
Дата 18.8.2008, 09:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 537
Регистрация: 9.11.2007

Репутация: 8
Всего: 14



Diabolus, в чем проблемы? В masm32 специальные библиотеки для работы с fpu. Можно конечно предварительно умножить число на 10 в n-ой степени, а уже потом делить. Да и с mmx не очень сложно разобраться - было бы желание smile 
PM MAIL   Вверх
Supersedes
Дата 20.8.2008, 09:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 29.7.2008

Репутация: нет
Всего: нет



Diabolus, а как ты пытался?

Я например попробовал вот так (на FASM):
Код

...
    fld    dword [val_a]
    fld    dword [val_b]
    fdiv    st0, st1
    fstp    dword [result]
    fstp    st0
...


все прекрассно работает smile 
PM MAIL ICQ   Вверх
W4FhLF
Дата 20.8.2008, 09:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 1
Всего: 121



Цитата(Supersedes @  20.8.2008,  09:15 Найти цитируемый пост)
Я например попробовал вот так (на FASM)


Какой в этом смысл? 

Надо использовать extended формат(10 байт), точность 19 знаков. 


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
Supersedes
Дата 20.8.2008, 10:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 29.7.2008

Репутация: нет
Всего: нет



Тогда придется использовать эмуляцию, а в этом случае несложно будет реализовать математически функции с точностью и в 128 бит.
Вот только на ассемблере это уже будет достаточно трудоемко...

Это сообщение отредактировал(а) Supersedes - 20.8.2008, 10:17
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm для начинающих"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm для начинающих | Следующая тема »


 




[ Время генерации скрипта: 0.0503 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.