Javaでdoubleのデータをbyte[]にするにはどうすればよいでしょうか?

回答の条件
  • 1人1回まで
  • 登録:2007/04/17 20:36:46
  • 終了:2007/04/19 13:32:23

ベストアンサー

id:lizy No.2

lizy回答回数45ベストアンサー獲得回数142007/04/18 10:19:26

ポイント50pt

http://java.sun.com/j2se/1.4.2/docs/api/java/nio/ByteBuffer.html...(double)

ByteBuffer#putDouble で書き込んだ結果が利用できるのではないかと思います。

確認していませんが、手順としては ByteBuffer#allocateでバッファ確保→ByteBuffer#putDoubleで書き込み→ByteBuffer#arrayで取り出しで行けそうに見えます。

既に存在するbyteに書き込むのであれば、ByteBuffer#wrapでラップしてからputDoubleすれば、元のbyteに直接書き込まれるようです。

id:westfish

これはとても便利ですね!

2007/04/19 13:31:41

その他の回答(1件)

id:tarchan No.1

たーちゃん回答回数200ベストアンサー獲得回数22007/04/18 00:53:22

ポイント30pt

http://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/api/java/lang...(double)

doubleToLongBits(double value)

IEEE 754 浮動小数点の「ダブルフォーマット (double format)」ビットレイアウトに従って、指定された浮動小数点の値を表現して返します。

これのことですか?

id:lizy No.2

lizy回答回数45ベストアンサー獲得回数142007/04/18 10:19:26ここでベストアンサー

ポイント50pt

http://java.sun.com/j2se/1.4.2/docs/api/java/nio/ByteBuffer.html...(double)

ByteBuffer#putDouble で書き込んだ結果が利用できるのではないかと思います。

確認していませんが、手順としては ByteBuffer#allocateでバッファ確保→ByteBuffer#putDoubleで書き込み→ByteBuffer#arrayで取り出しで行けそうに見えます。

既に存在するbyteに書き込むのであれば、ByteBuffer#wrapでラップしてからputDoubleすれば、元のbyteに直接書き込まれるようです。

id:westfish

これはとても便利ですね!

2007/04/19 13:31:41
  • id:streakeagle
    byte[]にどういう形式で入れたいかが分からないと答えようが無いと思います。

    いくつか例を挙げますが、この中にあるでしょうか?

    1. doubleの文字列表現をbyte[]に入れる(文字列表現が1byte文字だけである場合)
       例:double d = 3.14;の時、配列の0番目が'3'(のASCIIコード)、次が'.'、・・・・となる。

    2. doubleの先頭 OR 末尾から1バイトずつに分割してbyte[]に入れる

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません