我想知道如何获取浮点数的十六进制表示形式。
我尝试了以下代码

      System.out.println(Float.toHexString(56));

有o / p
  0x1.cp5

我真的不明白。如果我使用Integer method,则o / p将为38,我可以理解...但是o / p如何出现0x1.cp5。任何人都可以告诉我或指向一些好的教程吗。

最佳答案

使用this tool来查看以IEEE 754格式表示的浮动信息会如何变化。
二进制56是111000,当normalized转换为1.11000时。

正如javadoc所说,0x1.用于significand部分,在这种情况下,二进制格式为'1100',十六进制为'c'。指数部分是5。

10-04 19:50