因此,归一化的浮点数始终以前导数字10或01存储,为什么我们将它存储为2个单独的数字,如果它只能采用两个状态中的一个可用一位表示?
答案 0 :(得分:3)
对于最常见标准的单精度(32位)或双精度(64位),它们都不会使用您提到的精确组合中的这两个第一位。这取决于数量。
在第一个位中都存储了可以同时具有0和1值的数字的符号,而下一个位是指数的最高有效位,它也可以具有0或1值,具体取决于确切的数字。 / p>
为了说明这些位的用法,这里是浮点数结构的模式:
- 单精度:
- 双精度:
查看有关浮点数的一些信息:Single-precision和Double-precision
答案 1 :(得分:1)
我没有在IEEE-754上看到这种编码,单精度。第一位表示符号,可以设置两个第一位。这可以用这段代码看出 -
int main()
{
float value=-100.5;
int *valueptr;
valueptr = &value;
printf("%0.3f, %08x\n",value, *valueptr);
value=100.5;
printf("%0.3f, %08x\n",value, *valueptr);
return 0;
}