我对这个问题很感兴趣,以至于我不得不写一个库来处理IEEE-754浮点数。使用该库,可以使用以下内容:
byte[] quadBytes; // your quad-floating point number in 16 bytesIEEE754 quad = IEEE754.depre(IEEE754Format.QUADRUPLE, BitUtils.wrapSource(quadBytes));// IEEE754 holds the number in a 'lossless' format
从那里,您可以:
ByteBuffer doubleBuffer = ByteBuffer.allocateDirect(8);quad.toBits(IEEE754Format.DOUBLE, BitUtils.wrapSink(doubleBuffer));doubleBuffer.rewind();double converted = doubleBuffer.asDoubleBuffer().get();
但是上面的代码片段只是为了说明一般用法…为double提供了一个速记:
double converted = quad.doublevalue();
可以在kerbaya.com/ieee754lib上找到该代码。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)