MATLAB функция с фиксированной запятой "fi" эквивалент в Python - PullRequest
0 голосов
/ 30 августа 2018

MATLAB имеет функцию " fi " для представления дробей в схеме с фиксированной запятой. Его синтаксис

fi(fraction, sign, word_length, fraction_length).

Например, чтобы представить -0,4 в фиксированной точке с 8-битной word_length и 7-битной дробной_долгой, он возвращает следующее:

fixed_number = fi(-0.4, 1, 8, 7) = -0.3984
fixed_number.int = -51
fixed_number.bin = 11001101

Запрос : Можем ли мы сделать подобное в Python? Есть ли какая-либо функция для выполнения этого?

1 Ответ

0 голосов
/ 09 октября 2018

Библиотека установок Python полезна для этой цели. Он поддерживает преобразование с плавающей в фиксированную и фиксированную в плавающую точку.

Пример

>>> from rig.type_casts import float_to_fp, fp_to_float

>>> # Create a function to convert a float to a signed fractional
>>> # representation with 8 bits overall and 4 fractional bits (S3.4)
>>> s34 = float_to_fp(signed=True, n_bits=8, n_frac=4)
>>> hex(int(s34(0.5)))
'0x8'
>>> hex(int(s34(-7.5)))
'-0x78'

>>> # ...and make a function to convert back again!
>>> f4 = fp_to_float(n_frac=4)
>>> f4(0x08)
0.5
>>> f4(-0x78)
-7.5
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...