浮点数和可由字符串表示的浮点数范围

时间:2013-03-25 22:40:37

标签: floating-point discrete-mathematics

参考位字符串010011110110

We also assume that when the number is stored as a floating point (real) number, 6 of the 12 bits are reserved for the mantissa (or significand)

If the string represents a floating point number, what is this (smallest) number?

Find the range (or interval) of floating point numbers that could be represented by the same string.

value=(-1)^s (1+m/26 )^{e-24} is what I think I need in order to solve one of the, 

这是我在星期四28日进行评估的最后两个问题,我已经完成了所有其他问题,而且此时我不知道他们中的任何一个是否正确而且我只是坚持这些问题。我不知道为什么我必须做一个计算机科学课作为网络专业,但它杀了我。

2 个答案:

答案 0 :(得分:0)

由于基数为2且尾数为6且假设为12位精度,根据wikipedia on floating point numbers,我认为范围为100000 * 2 ^ 011111至011111 * 2 ^ 011111或更确切地说-32 * 2 ^ 31到31 * 2 ^ 31,其中最小值为1 * 2 ^ 100000或者更确切地说是1 * 2 ^ -32。

答案 1 :(得分:0)

6 of the 12 bits are reserved for the mantissavalue=(-1)^s (1+m/26 )^{e-24}

第二个应该在逻辑上是value=(-1)^s (1+m/2^6 )^{e-2^4}

所以,让我们走吧:

  • 1位符号
  • 1暗示前导一个+ 6位m(= 0到:63)表示有效数字(总共7位)
  • 指数剩余5位(e = 0到31)

因此最大有效数值为1+63/64,即127/64(2^7-1)/2^62-2^-6

,最大指数为31-16=15

因此最大数量为(2-2^-6)*2^15=2^16-2^9=65536-512=65024

最小数字是-65024。

修改

现在,我不确定我是否完全理解同一串的问题......

如果问题是哪个间隔将四舍五入到同一个浮点数,那么

  • 这取决于舍入方法
  • 取决于指数

如果我们假设数字四舍五入到最接近的浮点数,则区间(f-ulp(f)/2,f+ulp(f)/2)中的每个数字都将舍入到相同的浮点数f。

如果f =( - 1)^ s *(1 + m / 2 ^ 6)* 2 ^(e-2 ^ 4),则ulp(f)为2 ^(e-2 ^ 4-6) ),所以你得到了asnwer。包含区间的边界取决于详细的舍入方法(舍入到最接近的偶数)。

对于最小正值,我不知道......

  • 保留最小指数用于表示非正规数和零。
  • 或者这个表示中没有零......

在第一种情况下,使用非正规数,min指数为1-16=-15,最小正值为2^-6*2^-15 = 2^-21

在第二种情况下,最小指数为0-16=-16,最小正值为1*2^-16

第三种情况,如果只有零是特殊情况,并且没有非正规,则最小值为(1+2^-6)*2^-16