Skip to content
On this page

期中试卷部分问题讲解

A2

这题指数 , 小数部分都是 , 前面是 , 后面是 , 结果是 NaN (Not a Number).

注:有同学后面问我 是不是依然是 , 我查了一下,确实是这样。

参考 https://www.doc.ic.ac.uk/~eedwards/compsys/float/nan.html, any arithmetic operation involving infinity yields infinity.

同时 NaN 会由如下的几种方式产生:

.

大家了解即可。

A5

What's the smallest positive integer that a normalized floating point number with bit fraction cannot represent?

Assume the number of bit of the exponent is large enough.

题目意思是给定 bit fraction 和无限长的 exponent, 求不能表示的最小整数。

答案为 .

我们首先论证能够表示小于等于 的所有整数:

首先 可以表示为 (小数部分为 位,下同).

对于 中的任何整数,写成二进制形式,一定可以用 bit 表示 (因为 bit 能够表示范围 的无符号数), 记作 , 其中 , 我们取满足 的最大的 , 也即 . 可以将其表示为浮点数 .

上面可能比较抽象,举个具体的例子,例如 时,为了表示 , , 这里 , 因此可以记作 .

其次论证 不能被表示:

考虑 之后的整数,为了使增量最小,一定是让最低位的 变成 , 也即 , 这个数是 . 说明 不能被表示。

另外,按照群里同学的说法,可以考虑找规律归纳:

例如当 , 这时能表示的所有数为 , 也即 , 显然 就是最小不能表示的整数,以此类推也能够推出答案为 .

C2

这里 x3082 的语句是 , 效果是 , (这里 ), 因此是在 处写入 , 对指令不熟悉的同学一定要看看附录 A!