Умножение float с помощью целочисленной арифметики

 
0
 
Algorithms
ava
Artemius | 30.09.2013, 20:26
Собственно, вопрос вынесен в заголовок. Каким образом можно умножать числа с плавающей запятой, используя только целочисленную арифметику?
Comments (4)
ava
Akina | 30.09.2013, 19:47 #
Бери любой выч. софт и смотри исходник. Можно  скажем какой-нить линуховый калькулятор.
ava
mega | 30.09.2013, 20:33 #
Цитата

  Каким образом можно умножать числа с плавающей запятой, используя только целочисленную арифметику?
  

примерно так же, как здесь
ava
Pavia | 01.10.2013, 09:33 #
https://github.com/larsr/bochs/blob/master/fpu/softfloat.cc
Смотри функцию
float32 float32_mul(float32 a, float32 b, float_status_t &status)
ava
ТарасАтавин | 24.11.2013, 19:35 #
Цитата (Artiom18 @  30.9.2013,  19:26 findReferencedText)
Собственно, вопрос вынесен в заголовок. Каким образом можно умножать числа с плавающей запятой, используя только целочисленную арифметику?
Реализация умножения определяется форматом, надо на основании информации о формате вытянуть отдельно мантиссы и отдельно порядки, порядки надо пересчитать на положение точки сразу за последним разрядом каждой мантиссы, тогда мантиссы будут целыми, соответственно они и умножаться будут, как целые, а порядки надо сложить и сумму пересчитать назад в то положение точки, которое принято в формате, результат закодировать согласно формату.
Please register or login to write.
Firm of day
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Contributors
advanced
Submit