Matlab函数/脚本将实数转换为十六进制单精度表示并再次返回

时间:2011-10-27 23:14:52

标签: matlab filter floating-point hex vhdl

  

可能重复:
  32 bit hex to 32 bit floating point (IEEE 754) conversion in matlab

我正在尝试测试用VHDL编写的过滤器的功能,此过滤器的输入是单精度浮点数。为此,我想在MATLAB中转换一个实数数组,将正弦波表示为浮点数的十六进制表示数组。将此数组应用于过滤器并将输出转换为实际值。

即。我需要一个函数来执行以下-3.48 = 0x"C05EB851",该函数在this site上执行,并且它是反向的。

有没有人有MATLAB函数/ m文件来执行此操作?非常感谢任何帮助

干杯

1 个答案:

答案 0 :(得分:3)

>> help num2hex
 NUM2HEX Convert singles and doubles to IEEE hexadecimal strings.
    If X is a single or double precision array with n elements,
    NUM2HEX(X) is an n-by-8 or n-by-16 char array of the hexadecimal
    floating point representation.  The same representation is printed
    with FORMAT HEX.

让我们试试你的例子:

>> num2hex(single(-3.48))

ans =

c05eb852

足够接近?