Javaでfloatをバイナリ(4byte)変換する

Javaでfloat値を4byteで表現する方法と、4byteで表現したfloat値の取得方法です。

float を 4byte のデータに変換する

Float.floatToIntBits()メソッドを使います。

float f = 255.1234f;
int intBit = Float.floatToIntBits(f);
String strHex = String.format("%04X", intBit);
System.out.println(strHex);
437F1F97

4byte のデータから float に変換する

Float.intBitsToFloat()メソッドを使います。

System.out.println(Float.intBitsToFloat(intBit));
255.1234

byte配列から float に変換する

byte配列の場合は一旦intにしてから変換します。

byte[] bytes = { 0x43, 0x7F, 0x1F, (byte)0x97 };
int intBit = Integer.parseInt(String.format("%02X%02X%02X%02X", bytes[0], bytes[1], bytes[2], bytes[3]), 16);
System.out.println(Float.intBitsToFloat(intBit));
255.1234
このエントリーをはてなブックマークに追加
にほんブログ村 IT技術ブログへ

コメント

メールアドレスが公開されることはありません。 が付いている欄は必須項目です