我对下一步如何确定感兴趣:
那么如何确定尾数的位数是多少,以及e的位数是多少。我想这是noob问题,但我想知道答案。
答案 0 :(得分:0)
如果您为自己开发了一种格式,那么您可以根据需要更高精度或更大范围来确定指数和尾数的位数。由于IEEE-754是为一般用途而设计的,因此它们必须在大多数情况下选择更好的产品。为了确定k位格式的指数字段的宽度,他们使用像这样的公式
w = round(4 log2(k))−13
https://en.wikipedia.org/wiki/IEEE_floating_point#Interchange_formats
64位和128位格式遵循此。然而,在32位格式中,指数有点大(8比7),尽管我不知道这背后的基本原理。在16位半浮点格式中,由于范围太窄而且最大值甚至远小于最大16位int值(如果仅使用4位指数),它们使用5位代替。半浮点主要用于计算机图形,因此11位精度可能就足够了,它们需要更大的指数才能获得更宽的动态范围。因此他们最终可能会选择那个。