информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Где водятся OGRыСтрашный баг в WindowsSpanning Tree Protocol: недокументированное применение
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Очередное исследование 19 миллиардов... 
 Оптимизация ввода-вывода как инструмент... 
 Зловреды выбирают Lisp и Delphi 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
если вы видите этот текст, отключите в настройках форума использование JavaScript
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
Реализацию только этих пяти операций можно и самому накатать за часок. 23.09.04 19:19  Число просмотров: 1536
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
Отредактировано 23.09.04 19:27  Количество правок: 2
<"чистая" ссылка>
Например сложение: "меньшее" (по экспоненте) число двигается побиттово N раз вправо, где N разница между экспонентами, складываются, если получили конечный перенос, то сдвигаем все еще на 1 бит вправо, устанавливаем старший бит, увеличиваем на 1 порядок.
Вычитание - аналогично.
Умножение - по правилам математики: перемножаем мантиссы, складываем экспоненты, нормализуем.
Деление - все то же.
С корнем - подумать надо.
Да, если (думаю наверняка) мантиссы со знаковым битом, то все еще чуть чуть усложнится.
<programming>
софтверная плавающая точка 23.09.04 16:00  
Автор: leo <Леонид Юрьев> Статус: Elderman
<"чистая" ссылка>
Нужен не эмулятор FPU, а именно C-библиотека для вычислений (+, -, *, /, sqrt) с плавающей точкой.
Совместимость со стандартными форматами IEEE совершенно не нужна, что-нибудь типа 48-56 бит на мантиссу, и 6-8 бит на порядок будет в самый раз.

Кроме http://www.jhauser.us/arithmetic/SoftFloat.html, что ещё есть готового?
Реализацию только этих пяти операций можно и самому накатать за часок. 23.09.04 19:19  
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
Отредактировано 23.09.04 19:27  Количество правок: 2
<"чистая" ссылка>
Например сложение: "меньшее" (по экспоненте) число двигается побиттово N раз вправо, где N разница между экспонентами, складываются, если получили конечный перенос, то сдвигаем все еще на 1 бит вправо, устанавливаем старший бит, увеличиваем на 1 порядок.
Вычитание - аналогично.
Умножение - по правилам математики: перемножаем мантиссы, складываем экспоненты, нормализуем.
Деление - все то же.
С корнем - подумать надо.
Да, если (думаю наверняка) мантиссы со знаковым битом, то все еще чуть чуть усложнится.
Накатать конечно можно, но IMHO не за часок 23.09.04 19:53  
Автор: leo <Леонид Юрьев> Статус: Elderman
<"чистая" ссылка>
Возни на самом деле не мало. И у мантис могут быть разные знаки и у экспонент, over/under нужно отлавливать и т.д. А с корнем не сложно - из мантиссы по а-ля ньютону, экспоненту пополам, если нечетная домножить на sqrt(2) и нормализовать.

А главное - не интересно просто рутина. Но пожалуй придеться написать...
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2025 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach