Java:如何将二进制值的字符串转换为Float,反之亦然?

oka*_*ami 5 java floating-point bytearray type-conversion

如何将12345.12346f的浮点值转换为二进制值的字符串,即"0011010101010101",反之亦然?

krt*_*tek 14

我不确定它是你想要的,但是这里有一个解决方案,可以为浮点数提供IEEE 754浮点"双格式"位布局的二进制表示(它基本上是浮点数的内存表示形式):

int intBits = Float.floatToIntBits(yourFloat); 
String binary = Integer.toBinaryString(intBits);
Run Code Online (Sandbox Code Playgroud)

对于相反的程序:

int intBits = Integer.parseInt(myString, 2);
float myFloat = Float.intBitsToFloat(intBits);
Run Code Online (Sandbox Code Playgroud)


DJC*_*rth 0

您可以使用以下命令获取 Java Float 值的位表示形式

Float.floatToIntBits(float f);
Run Code Online (Sandbox Code Playgroud)

完成此操作后,您可以依次测试结果 int 的每一位,从最高位开始,并找出它是否已设置,如果已设置则写入“1”,如果未设置则写入“0”。