我正在尝试在 MATLAB 中解析包含一些浮点测试向量的文件。
这是文件的一部分:
b32+ +1.7FFFFFP127 -1.7FFFFFP127 +0.0P0
b32+ +1.000000P0 -1.6D0976P9 -1.6CC976P9
b32+ +1.000000P-126 -1.000000P-126 +0.0P0
b32+ -1.7FFFFFP127 +1.7FFFFFP127 +0.0P0
b32- -1.7FFFFFP127 -1.7FFFFFP127 +0.0P0
b32- +1.000000P0 -1.000000P0 +1.000000P1
b32- -1.7C3AB6P14 +1.000000P0 -1.7C3CB6P14
b32- +1.2F0948P14 +1.000000P0 +1.2F0748P14
b32- -1.000000P-126 +1.000000P-126 -1.000000P-125
b32- +1.000000P-126 +1.000000P-126 +0.0P0
b32- -1.000000P-126 +1.0410ADP-103 -1.0410AEP-103
b32- +1.7FFFFFP127 +1.7FFFFFP127 +0.0P0
b32* +1.12D2C6P92 -1.000000P0 -1.12D2C6P92
b32* +1.7FFFFFP127 -1.000000P0 -1.7FFFFFP127
b32* -1.7FFFFFP127 +1.000000P0 -1.7FFFFFP127
b32* -1.5FEA32P-51 +1.000000P0 -1.5FEA32P-51
b32* -1.000000P-126 +1.000000P0 -1.000000P-126
b32* -1.000000P0 +1.000000P0 -1.000000P0
b32* +1.000000P0 +1.000000P0 +1.000000P0
b32* +1.000000P-126 +1.000000P0 +1.000000P-126
b32* +1.000000P-126 +1.7FFFFFP127 +1.7FFFFFP1
由于混合数据类型,基本上我不知道如何解析这个文件。
此文件中显示了三种可能的浮点运算(加法:b32+,减法:b32-,和乘法:b32*)。前两个数字是操作数,最后一个数字是结果。
之后我想将数字格式化为 32 位浮点格式(我可能会弄清楚)。问题是我不知道如何获取“b32+”之类的东西,然后将数字转换为变量,以便将它们转换为标准浮点格式。
我计划为查看符号(+/-)的数字实现一种算法,并根据它设置符号位。查看“。”之间的十六进制。和'P'并将其设置为有效数字。然后取 P 后面的数字作为无偏指数。然后我计划对其他数字重复此过程。
谢谢!