返回列表 回复 发帖

老师们请教个问题~~

《C++从入门到实践》里【示例2-1】为什么0.110111×2的100次方呢?我看网上别的教材里说的都是规格化的时候小数点移到第1、2位,指数是移动的位数,这里1101.11的规格怎么是0.110111×2的100次方呢?请老师帮助讲解下,谢谢了
你好。实际书上讲解和你看到教材都是没有错的。关键是前提不一样。

网上教材说的是十进制下的移位。而书中这里讲解的是二进制数字的移位。

我们这里移动的是小数点。而小数点概念是十进制所特有的概念。移动一次小数点,就意味数字要增大10倍,或者减小为十分之一。

你可以把书中的那个例子手工计算一下。
本帖最后由 liuzunk 于 2010-5-24 11:51 编辑

老师,你好,先谢谢你了!
我在百度文库看的资料好像也是说的2进制啊,还有你说的怎么手工计算啊,能不能讲详细啊~
这是我看的百度文库上的网址:
://wenku.baidu.com/view/6800be1e650e52ea55189845.html
这里二进制移动了四位,那应该是2的四次方。但是这里采用的二进制方式,所以4也必需转化为2进制,所以就是100。

可能对你产生理解困惑的地方,就是100是二进制的100,还是十进制的100。你给出的那个网页中,采用十进制的9来表示。而作者为了照顾后面写阶码的考虑,直接使用了二进制的写法。
谢谢,非常感谢您的耐心,祝您全家幸福美满!~
不懂你说的什么
返回列表