什么是最好的启发式,我可以用来确定一个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