我正在尝试读取具有浮点值的复杂数据文件。已经提供了一些处理这种格式(Met Office PP 文件)的 C 代码,并且它做了很多位旋转和交换。它不起作用。它非常正确,就像数据的大小一样,但是返回矩阵中的数值是荒谬的,有 NaN 和 1e38 和 -1e38 等值自由散布。
但是,我有一个二进制 exe(“convsh”)可以将这些转换为 netCDF,并且 netCDF 看起来不错 - 漂亮的旋涡风速图。
我在想的是 PP 文件的字节被以错误的顺序读取。如果我可以将 netCDF 数据中正确返回的浮点数的字节与从 C 代码错误返回的浮点数中的字节进行比较,那么我可能会找出正确的交换页。
那么是否有一个普通的 R 函数来转储浮点数的四个(或八个?)字节?就像是:
> as.bytes(pi)
[1] 23 54 163 73 99 00 12 45 # made up values
搜索“bytes”、“float”和“binary”没有帮助。
它在 C 中是微不足道的,我可能在我写这个的时候就写了它......