关于小数补码的一个小疑惑
来源:4-7 定点数与浮点数

v不离不弃v
2020-06-24
老师,您在写-54表示成二进制浮点数的时候小数部分规格化后是:- 0.110110,求出的补码为 0010100000,尾数符为1,但是之前您在说小数的补码运算的时候,说小数的补码当小数为负数的时候为 2 + X,如果是单纯的对于 “-0.110110”这个数取补码,他的表示应该是 (下面和题目一样为11位):
原码: x = 1, 0.1101100000
反码: x = 1, 1.0010011111
补码: x = 1, 1.0010100000
我有个疑惑就是是不是在浮点计算的时候,存储的小数部分就是小数点后面的数呢?即0010100000,前面求补码得出的1.0010100000中的小数点左边的“1”就不算小数部分了是嘛?
写回答
1回答
-
这里是两个概念哈,需要特别注意的。
2+x这个是小数补码的定义,它是求解小数补码的一个方法。
而小数的规格化是指浮点数的存储方式。
而对于小数点左边的1也是需要存储的,对于补码: x = 1, 1.0010100000,需要阶码加一,同时尾数右移一位(需要满足规格化的存储格式),只是在运算过程中不需要特别关注这一点。
希望对你有所帮助哦。
032020-06-28
相似问题