发布于 2018-05-31 05:56:16
IEEE-754二进制类型指定指数位宽度,如下所示。
FP bit size Expo bit size
16 5
32 8
64 11
128 15
256 19
类型的其余部分使用1符号位和signifcand。
根据this good answer @Netch,对于32及以上的倍数,指数位宽度为round(4 * log2 (k)) – 13
。
“浮点数之间是否存在可应用于任意大小的浮点数的通用模式?”的empirical answer。可以使用下面的代码来保持与现有IEEE-754标准的相关性,并将其扩展到其他位大小的fp_size >= 8
(如果您想推动它,则扩展到>= 6
)。
int expo_width(int fp_size) {
return lrint(fp_size >= 32 ? 4*log2(fp_size)-13, 3*log2(fp_size)-7);
}
https://stackoverflow.com/questions/50594009
复制相似问题