半精度转换
Half precision conversion
为什么0 11110 1111111111
等于半精度格式1.1111111111 * 2^15
?两者都应为 65504。
这里的符号位是 0。指数是 11101,小数部分是 1111111111。但这根本不像 1.1111111111 * 2^15
。
谁能给我解释一下?
这是您的半精度数的布局:
指数的值为111102,即3010。半精度数的指数 bias 为 1510,因此我们需要从 3010 中减去 1510 得到 1510.
的实际指数
分数前面隐含了12,所以实际分数前面多了一个1。二进制小数点位于隐含的 1 之后,使数字看起来像这样:
1.1111111111
为了应用1510的二进制指数,我们需要将小数点向右移动十五个位置。这将产生数字 11111111111000002,转换后等于 6550410
为什么0 11110 1111111111
等于半精度格式1.1111111111 * 2^15
?两者都应为 65504。
这里的符号位是 0。指数是 11101,小数部分是 1111111111。但这根本不像 1.1111111111 * 2^15
。
谁能给我解释一下?
这是您的半精度数的布局:
指数的值为111102,即3010。半精度数的指数 bias 为 1510,因此我们需要从 3010 中减去 1510 得到 1510.
的实际指数分数前面隐含了12,所以实际分数前面多了一个1。二进制小数点位于隐含的 1 之后,使数字看起来像这样:
1.1111111111
为了应用1510的二进制指数,我们需要将小数点向右移动十五个位置。这将产生数字 11111111111000002,转换后等于 6550410