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