2014-09-02 47 views
0

大家下午好。我不确定发布这个问题的位置,所以如果这是错误的话,我表示歉意。我目前正在参加一个Discreet数学课程,最初我认为我理解二进制浮点数转换为十进制转换,而不是以前的课程。然而,今天在做一些使用任意大小的练习时,我遇到了一个我必须理解的问题。为了简单起见,我将使用1符号位,3位指数(4位偏移而不是127)和4位尾数。将二进制浮点数转换为纸上的十进制数。尾数以0开头

我有这个号码。 0 010 0100似乎很容易,它可能是所有你的专家。

  • 我知道第一个0位是符号位,这个数字是正数。
  • 我也知道接下来的3位是指数位。 010表示2.对于这个问题,我使用4位偏移而不是127,所以我做2 - 4 = -2。我会将不可见的小数点转移到尾数上的左侧2个点。

这是我的问题。这个尾数从0开始,而不是从1开始。那么在1之前或之后是“隐形”小数点?

基本上我问的是,在移位小数之前,尾数是0.100还是1.00?奇怪的是,在我以前的课程中考过的所有浮点问题,我不相信我遇到了这个问题。也许教授通过给我们简单的场景对我们很友善。

我一直认为,尾数为“标准化,所以我应该可以看到这个尾数为1.000左移两次获得0.01000成为十进制0.25之前,但现在我不那么肯定。

感谢您的时间所有!

回答

2

对于普通浮法格式,还有一个暗示领先并不在其中尾数位数编码。所以,你的尾数实际上是1.0100二进制。

更多信息请参阅IEEE_754-1985

+0

你完全震撼了我的世界!这是绝对有道理的。所以当我从十进制转换回二进制时,这就是为什么我把小数移到第一位有效数字。那是对的吗?我将小数点移到左边,直到小数点前面有1,例如1.010101011?非常感谢。现在我完全明白为什么有隐含的领先优势。 – 2014-09-02 22:43:53

相关问题