JRE文档说明了本机函数Float.floatToRawIntBits(Float value)
...
返回指定浮点值的表示形式 根据IEEE 754浮点“单格式”位布局, 保留非数字(NaN)值。
什么是"single format"
位布局?我从来没有听过这个表达。
我举了一个例子:
float f = 1;
System.out.println(Float.floatToRawIntBits(f));
哪个输出1065353216
。
这个功能实际上在做什么?
答案 0 :(得分:5)
IEEE 754浮点“单格式”位布局:
结果的第31位表示浮动的符号;位30到23 代表(有偏的)指数;位22到0表示尾数。
返回的int是该32位字符串的整数表示。
维基百科详细介绍了如何将浮点数转换为IEEE 754。 http://en.wikipedia.org/wiki/Single-precision_floating-point_format