除以指数位数和尾数

时间:2019-03-05 14:35:33

标签: floating-point binary converters

根据标准,如果要将浮点数转换为32位二进制数,则将1位用于符号,将8位用于指数,其余23位用于尾数。

假设我们不想转换为32位,而是转换为15、23或任何其他数字。 是否有一个规则或方法来“划分”给定转换的位数?

例如:如果我们想将给定的浮点数转换为15位,那么指数和尾数需要多少位?

1 个答案:

答案 0 :(得分:0)

按照标准,有“半精度”浮点数,大小为16位。

标准为IEEE 754:

它定义了各种不同的格式,但没有定义15、23等。

如果您要定义自己的格式,那么从本质上来说,这是设计决定要使用多少位的指数。

该标准定义了一种16位格式(半精度),该格式使用10位尾数(有效的3个小数位)和5位指数的允许范围+ -65500。

这是一个示例16位格式,其尾数使用不同数量的位。它实际上仅具有2个小数位精度,但覆盖的值范围与单精度基本相同。这使得它对于达到半精度的不同目的很有用:

这是另一个16位格式和8位格式的示例:

这是一个没有符号位的11位和10位浮点数的示例。这些仅用于存储图像,因此它们不需要负值。他们使用5位尾数来简化与Half Half精度之间的转换,这是图形卡内部使用的: