1
ltyj2003 1 天前 via Android
-0.001 大于-0.100
|
2
bler OP @ltyj2003 不是这个原因,其实这个问题的本质就是为什么-0.1 (二进制形式),为什么不是规格化的浮点数,为什么还要加个 2^-n ,我感觉我对规格化浮点数的概念好像理解错了
|
3
cybort 22 小时 35 分钟前 via Android
因为你没有把小数部分的精度用完,你没发现同一个数移动下小数点位置有无数种表示形式吗
|
4
bler OP @cybort 但是需要规格化啊,尾数最高位必须为 1 啊,假设尾数是 4 位,如果是正数那么尾数最小为 0.100
如果是负数的情况下,尾数就不能为-0.100 ,变成了了-0.1001 了,加的这个 2^-n 有点把我搞蒙了,这是我有点不明白的地方 |
5
fengYH8080 18 小时 13 分钟前
大概了解你的疑惑了,你应该是概念混淆或者是不够牢固。 [双符号位补码尾数的规格化] 正数是 00.1xxxx ,负数是 11.0xxxx ,所以题目中 11.0111 补码转化为原码后 11.1001 ( 2^-1 + 2^-4 )是没问题的。而你举的例子 1.1000 这个是原码的规格化,你转换为补码 1.1000 后,正确的尾数规格化是 1.0100 。你理清下原码尾数的规格化和补码尾数的规格化的差异和原理。
|