关于小数补码的一个小疑惑

来源: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回答

咚咚呛

2020-06-25

这里是两个概念哈,需要特别注意的。

2+x这个是小数补码的定义,它是求解小数补码的一个方法。

而小数的规格化是指浮点数的存储方式。

而对于小数点左边的1也是需要存储的,对于补码: x = 1, 1.0010100000,需要阶码加一,同时尾数右移一位(需要满足规格化的存储格式),只是在运算过程中不需要特别关注这一点。

希望对你有所帮助哦。

0
3
v不离不弃v
非常感谢!
2020-06-28
共3条回复

(新版)计算机基础,计算机组成原理+操作系统+网络

编程之前先学这门课,系统补足计算机基础知识,夯实编程地基

7739 学习 · 1580 问题

查看课程