私はこの質問に興味を持って、IEEE-754浮動小数点数を処理するためのライブラリを書くことを余儀なくされました。ライブラリを使用すると、以下のように使用することができます。
byte[] quadBytes; // your quad-floating point number in 16 bytes
IEEE754 quad = IEEE754.decode(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 converted = quad.doubleValue();
コードはkerbaya.com/ieee754libです。
['BigDecimal'](http://docs.oracle.com/javase/1.5.0/docs/api/java/math/BigDecimal.html)が役立つかもしれません。 – crush
どのように番号をインポートしますか?元の数字の文字列表現を解析するのはあなたの意図ですか? –
@RobertHarvey私は、彼が64ビットを64ビット、64ビットを2倍にすると仮定して、いくつかのロジックを使ってそれらを再結合します。長いことを扱うときにはこれは私にとっては意味がありますが、ビットがどのように編成されているかは分かりませんので、間違っているかもしれません。たぶんダブルスでは不可能かもしれません。 – crush