在Fortran中设计一个大型可压缩二进制浮点数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Fortran中设计一个大型可压缩二进制浮点数相关的知识,希望对你有一定的参考价值。

我想为netcdf文件中的4和8字节浮点变量设计一个“填充”值,以表示丢失数据的特殊情况。已经有一个恒定的NF_FILL_FLOAT,我对它的设计的理解是,除了一个很大的奇怪值,它还有一个非常可压缩的位模式。我相信它与巨大的(x)不同。我已经使用NF_FILL_FLOAT填充缺失值 - 我的值必须是可区分的。我该怎么做?压缩有哪些考虑因素?谢谢。

答案

如果你把NF_FILL_FLOAT除以2 ** n,其中n是一个> = 0的整数呢?这将给你“n”个别的“填充值”,并且基本上除法只是将位移位n,所以仍然应该是可压缩的。

(当然,如果您写出netcdf,那么外部软件只能识别MISSING的一个值,因此您的填充值将无法识别)。

以上是关于在Fortran中设计一个大型可压缩二进制浮点数的主要内容,如果未能解决你的问题,请参考以下文章

大型机 S370 十六进制浮点数到十进制的转换

FORTRAN里怎样把数值类型(整数,浮点数)转换为字符串

11定点数和浮点数

一个比较float是否相等的工具类

H. 浮点数

python的浮点数运算是否精度有问题阿