从5位浮点表示计算值

时间:2013-10-10 05:34:27

标签: assembly floating-point binary ieee mantissa

我已经在这方面做了很多工作,并且认为我错过了关于“压裂”部分的一些内容。在这个5位浮点数中,符号位是最重要的,接下来的两位是指数,指数偏差是1.最后两位是有效数字(尾数)。

所以我有很多值,但我只是想更好地理解这个方法。第一个是:

0 00 01

我知道等式是

V = (-1)^s * m * 2^E

符号为零,由于数字是非规范化的,因此E = 1-bias = 0(是吗?)

所以,我有:

V = 1 * m * 1

我遇到的问题是尾数值。我想对于非规范化的数字,它等于0.frac,而这里的frac等于1对吗?

m = .1?

我在网上发现了一堆东西,看起来像压裂是比特数的值?

所以也许m = 1/5?

最后,我被告知我的回答应该表示为x / 4。那么我应该是1/4吗?如果是这样,为什么?

感谢任何人提供的帮助或教学!

1 个答案:

答案 0 :(得分:2)

  1. 指数通常被计算为“指数”字段的值(我们称之为“ex”)减去偏差,这使我们只能在指数字段中保留非负数。但是,可能有一个例外,见下文。

  2. 有效数据通常存储时没有前导1,这是隐含的。这不一定是这种情况(例如long double明确保留前导),但保留空间也是有意义的,也意味着你有唯一的值表示。

  3. 如果有效数字不存储前导1,那么非规范化数字就有一种特殊情况,即当指数字段全为零时。在这种情况下,没有隐式1,并且为了使转换单调,正如你正确地说,最小的可能指数是1 - ex

  4. 有效数是0.01b,即1/4。由于数字是非正规的,因此没有前导1,因此实际的尾数是1/4。指数为零(即1 - 1),因此该数字的总值为1/4。

相关问题