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

标签 matlab filter floating-point hex vhdl

<分区>

Possible Duplicate:
32 bit hex to 32 bit floating point (IEEE 754) conversion in matlab

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

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

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

干杯

最佳答案

>> 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

足够接近了吗?

关于将实数转换为十六进制单精度表示并再次返回的 Matlab 函数/脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7923537/

相关文章:

c++ - 如何将提取的栅格信息转换为opencv库可处理的格式

c++ - 是否可以将多个浮点值合并为一个浮点值并在需要时提取这些值?

CUDA 浮点加法给出错误答案(与 CPU 浮点运算相比)

matlab - 在matlab中用不同颜色在同一个图中绘制多个直方图

matlab - 在 Matlab 中读取注册表项

ajax - 通过 View 下拉菜单过滤 Controller 中的数据

javascript - 过滤嵌套对象并保留父对象

c - sqrt、完全平方和浮点错误

arrays - 在 accumarray 中使用百分比函数

c++ - mysql 和 matlab mex - libmysqlcppconn 找不到 glibcxx_3.4.15