我需要将二进制数 0000 0110 1101 1001 1111 1110 1101 0011 转换为 IEEE float 。答案是 1.10110011111111011010011 x 2^−114,但是指数是如何得出的呢?
最佳答案
http://en.wikipedia.org/wiki/Single_precision_floating-point_format
取前9位数字
0 00001101
第一个是符号(0 == 正)
接下来的 8 是指数,转换为十进制 == 13。IEEE 32 二进制 float 中的符号偏移 127,因此 13 - 127 = -114。
(小数部分缺少 1,它是隐式的)
完成:-)
关于binary - 从二进制转换为 IEEE 浮点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5291732/