什么是Float.floatToRawIntBits(); 在java中返回?

Che*_*mer 0 java floating-point binary

我试图让Java返回浮点值的二进制表示.我们说"0.125".

至于我关注的是binary32中的0.125等于:00111110 00000000 00000000 00000000

这也是我希望Java在运行以下代码时返回的内容:

int bits = Float.floatToIntBits(0.125f);
System.out.println(bits);
Run Code Online (Sandbox Code Playgroud)

但是,此代码返回此值:1040187392

我的两个问题是:

  • 如何让java返回请求的二进制表示?

  • 它返回的数字是什么意思?

Sch*_*uca 6

您还需要一次转换:

int bits = Float.floatToIntBits(0.125f);
System.out.println(Integer.toBinaryString(bits));
Run Code Online (Sandbox Code Playgroud)

  • 那么它返回的值是00111110 00000000 00000000 00000000的十进制表示? (2认同)