浮点限制

Boj*_*les 6 floating-point limits

我已经得到了这两个问题,而且我无法正确地解决浮点问题,所以如果有人可以就如何解决这些问题提出一些指示,我将非常感激.

  1. 可以用2s表示的最小和最大数字是什么,用10位尾数和6位指数表示归一化浮点符号?

  2. 使用上述尾数和指数,两个最接近0的值可能是0.想想发生下溢和溢出的地方.

pax*_*blo 1

如果您谈论的是 IEE754 变体,您可以查看维基百科 IEEE754-1985,并在给定分数和指数的不同大小的情况下自行计算出完全标准化的数字。

\n\n

暂时忘记这个标志,这只是一个简单的位翻转。

\n\n

最大的分数都是一位,对于十位尾数来说,是:

\n\n
      1   1   1    1    1    1    1     1     1      1\n  1 + - + - + - + -- + -- + -- + --- + --- + --- + ----\n      2   4   8   16   32   64   128   256   512   1024\n\n= 1024 + 512 + 256 + 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1\n  -----------------------------------------------------\n                           1024\n
Run Code Online (Sandbox Code Playgroud)\n\n

(隐含的1 十位减半分数)。那是2047/1024

\n\n

关于指数,6 位指数的最高非特殊值(特殊值是NaN或)是 2 6 -2 或 62(范围是 0 到 62)。\xc2\xb1Inf

\n\n

但是,因为您需要正指数和负指数,所以您减去 31(偏差,最大非特殊值的一半)。这给你的范围是 -30 到 31(-31 在这里可以打折扣,因为它没有标准化)。

\n\n

因此最大和最小(最负)值为或。\xc2\xb1(2047/1024)x231\xc2\xb14292870144

\n\n

类似地,最接近零的两个值的指数字段为 -30(归一化的最小值),尾数字段全为零,通过隐式1,可以得到1

\n\n

这些值为或。\xc2\xb1(1)x2-30\xc2\xb10.000000000931322574615478515625

\n\n

你应该打印出维基百科页面和这个答案,然后坐下来研究它们,直到你理解它们为止。我不介意在这里帮助你,但是,如果你反省我的作业答案,你几乎肯定会被抓住(如果你的教育者有任何智慧,尽管不能保证这一点)。

\n\n

为了用你自己的话表达这个答案(从而被认为抄袭),你必须理解

\n