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)
您可以使用以下命令获取 Java Float 值的位表示形式
Float.floatToIntBits(float f);
Run Code Online (Sandbox Code Playgroud)
完成此操作后,您可以依次测试结果 int 的每一位,从最高位开始,并找出它是否已设置,如果已设置则写入“1”,如果未设置则写入“0”。