这是什么样的二进制数字表示?

时间:2012-01-27 11:15:39

标签: binary floating-point numbers double bcd

我从旧的数据库文件中获取这些数字,并且我正在寻找它使用的数字表示。

这些数字以二进制格式存储,它们可能是64位浮点数,类似于:54.123等等。

我只发布自然数字,因为这是我需要的,而且该字段只包含没有分数的自然数字。

这些是我的一些数字:

  • 00:00000000
  • 01:10000100111000000
  • 02:1000001001110000000
  • 03:1100001110101000000
  • 04:100000010011100000000
  • 05:101000011000011000000
  • 08:10000000111000100000
  • 09:100100001011111100000
  • 16:011100011000000
  • 24:10000000101010011100000

1 个答案:

答案 0 :(得分:1)

显然,有用于阅读DBF的PHP类:http://www.phpclasses.org/package/1302-PHP-Extract-information-from-a-DBF-database-file.html 。他们说它不需要任何扩展,它都是用PHP函数完成的。

或者,您可以使用各种查看器检查DBF,以确定该字段的格式。

根据this,有几种字段类型用于存储数字。 This讨论字段类型及其表示方式。

在任何情况下,根据我的理解, Numeric 字段可能默认存储为ASCII,我认为是固定长度而不是浮点。所以你可以通过使用floatval来逃避。