小编fli*_*int的帖子

启发式以识别一系列4字节数据块是整数还是浮点数

什么是最好的启发式,我可以用来确定一个X 4字节的块是整数还是浮点数?人类可以轻松地做到这一点,但我想以编程方式进行.

我意识到,因为每个位组合都会产生一个有效的整数和(差不多?)所有这些组合也会产生一个有效的浮点数,所以没有办法确定.但我仍然想确定最有可能的候选人(这几乎总是正确的;或者至少,人类可以做到这一点).

例如,让我们先取一系列4字节的原始数据,然后先将它们作为整数打印出来然后再作为浮点数打印出来:

1           1.4013e-45
10          1.4013e-44
44          6.16571e-44
5000        7.00649e-42
1024        1.43493e-42
0           0
0           0
-5          -nan
11          1.54143e-44

显然他们将是整数.

现在,另一个例子:

1065353216  1
1084227584  5
1085276160  5.5
1068149391  1.33333
1083179008  4.5
1120403456  100
0           0
-1110651699 -0.1
1195593728  50000

这些显然是漂浮物.

PS:我使用的是C++,但您可以使用任何语言,伪代码或英语进行回答.

c++ language-agnostic algorithm floating-point artificial-intelligence

11
推荐指数
2
解决办法
706
查看次数