Alterna · 学习资料

10.1 如何记录最后位数

计算机没有无限数字。 数字由符号、 比例尺和重要位数记录; 有些值必须四舍五入 。

本节学习内容

内容与核心概念

网络由数组数组和工程量组成。
计算机没有无限数字。 数字由符号、 比例尺和重要位数记录; 有些值必须四舍五入 。
数字具有最终准确性;它们必须储存和移动。 矩阵块产生许多独立的工作,但记忆和团体组织也会影响结果。
Для изменения рисунка включитеJavaScript; расчёт и теория доступны далее.
结束比特而不是任意精确度
在二进制浮点中,标记被存储,字段表征 E 和整个分数 F 。对于带有分位和偏移的正常数字,则以正数表示:
x
=
(
−
1
)
s
(
1
+
F
2
f
)
2
E
−
b
i
a
s
.
x=(-1)^s\left(1+\frac{F}{2^f}\right)2^{E-\mathrm{bias}}.
x
=
(
−
1
)
s
(
1
+
2
f
F
​
)
2
E
−
bias
.
FP32的字段是1/8/23、Em4127。B -192=1.5x27接收s=1、E=134、F=222。正常标志和原始单位不分开保存。
E=0 规则中,其他规则为: 亚超常等于 (-1s( F/2\f) 2\( 1- beas) , 没有隐藏单位。 F=0的签名为零。 最大 E 保留为无穷和纳尼特 : 无穷分数 , NaN 有非零 。
实验。
Enter -192, then -0, 然后修改格式。 单个位编辑器允许您更改符号/ Expent/ refraction, 并查看解码 。 特别价目表会显示一个解释; 没有给出 NaN, 以得出随后计算结果的正确结果 。
边界。
第一个条目成为 JavaScript 编号( 二进制64 ) 。 代码c 将这一特定值转换为所选格式, 而不是精确任意的小数点理性数字。 例如, 1 不再被格式 6 准确代表。 格式的签名不会将页面的全部计算转换为 FP16 。
import struct
bits=struct.unpack('>I',struct.pack('>f',-192.0))[0]
assert bits>>31==1
assert (bits>>23)&255==134
assert bits&((1<<23)-1)==1<<22
代码重复了刚刚处理的操作
完全检查了 Python 示例章节
可用一个单独的文件; 显示的短片不会取代其执行 。
对于编码的指数0, 使用另一条规则而不隐藏 。
记录和准确度的大小,这个问题如何继续产生结果?
第10章的皮顿实例
学术基础

教材目录导航