техники за преобразуване на плаваща запетая за fixxedpoint

F

Fireblade

Guest
Какви са техниките за конвертиране Числа с плаваща точка до номера фиксирана точка.

 
Зависи дали може или не може да използва операции с плаваща запетая.
Ако можете да направите това, просто умножава с плаваща точка стойност от 2 ^ (number_of_fractional_bits) и конвертирате в резултат на цяло число.

as far as I remember, which provides fast multiplication of floating point numbers by powers of two.

В С там е libm ldexp
функция (),
доколкото си спомням, което осигурява бързо умножение на числа с плаваща запетая правомощията на две.Той действа, като манипулира експонат номер стойност директно.

Ако желаете да направите това без да се бъркаш с плаваща запетая математика, просто извлечете mantisa, сложи '1 'малко в ляво, за смяна на номер наляво или надясно, според това е експонат, и накрая тя умножава с 1 или -1 в зависимост от знака парче.
За да бъдем по-точни, ако вашият mantisa дължина е "М бита, например 23 за един прецизен IEEE плаваща запетая (24 бита със" скрити 1 ", за двойна точност - попитайте Google, и имате F частична бита във Вашата фиксирани номера точка, тогава ще трябва да смени mantisa (с "1", както е включена MSB) (М - Ж) бита към правото, ако (МФ) е отрицателно, тогава трябва да го смени на ляво.

 
http://www.ddj.com/dept/embedded/196700769?cid=RSSfeed_DDJ_EmbeddedSystems

 

Welcome to EDABoard.com

Sponsor

Back
Top