回 帖 发 新 帖 刷新版面

主题:问大家一个关于浮点数表示范围的问题,回复就给30分!

不知道大家有没有看过清华大学出版的一本叫《C++语言程序设计》的书,作者是郑莉和董渊。
    我之所以把问题放在这是因为这本书本书中第一章讲的关于浮点数方面的内容属于计算机组成里面的东西。

好了,闲话少扯,进入问题:这本书第16页讲到:
    浮点数的表示范围,由阶码位数和尾数位数决定。若阶码用r位整数(补码)表示,尾数用n位定点小数(原码)表示,则浮点数的表示范围是:
           -[1-2^(-n)]*2^{[2^(r-1)]-1}-1 至 [1-2^(-n)]*2^{[2^(r-1)]-1}
我不明白为什么最小值是-[1-2^(-n)]*2^{[2^(r-1)]-1}-1而不是-[1-2^(-n)]*2^{[2^(r-1)]-1},为什么要减个1呢?想了好久都没想明白是什么道理,希望知道的同志能给出个令人满意的说法,谢谢了。

回复列表 (共6个回复)

沙发


没人肯给指点一、二吗?哎,自己真的是搞不定啊。

板凳


哎,偌大一个论坛,竟没有人来回答我的问题吗?哪怕我的问题描述的不清楚,也可以给我指出来嘛。不行,一定要顶起来,不得到满意的答案誓不罢休。希望高手们帮帮我啊。。。哎,想学点东西真的好难啊。

3 楼


高手们啊,如果会的话麻烦您给我指点一下好吗?我每天都来看,可是每天都看不到有人回答。。。郁闷啊。

4 楼


自己顶到底!!!

5 楼


我这么虚心地向大家请教问题。。。

6 楼

很简单得嘛,你可以去问问编写教材的时候啊,用的是什么样的机器进行举例的啊!

我来回复

您尚未登录,请登录后再回复。点此登录或注册