为什么0 11110 1111111111
等于半精度格式1.1111111111 * 2^15
?两者都应该是 65504。
这里的符号位是 0。指数是 11101,小数部分是 1111111111。但这根本不像1.1111111111 * 2^15
。
有人可以向我解释吗?
为什么0 11110 1111111111
等于半精度格式1.1111111111 * 2^15
?两者都应该是 65504。
这里的符号位是 0。指数是 11101,小数部分是 1111111111。但这根本不像1.1111111111 * 2^15
。
有人可以向我解释吗?
这是您的半精度数的布局:
指数的值为 11110 2,即 30 10。半精度数的指数偏差为 15 10,因此我们需要从 30 10中减去 15 10以获得 15 10的实际指数。
分数前面有一个隐含的 1 2,因此实际分数前面有一个额外的 1。二进制小数点位于隐式 1 之后,使数字看起来像这样:
1.1111111111
为了应用 15 10的二进制指数,我们需要将小数点向右移动 15 个位置。这将产生数字 1111111111100000 2,在转换后等于 65504 10。