数字变量是否遵循 TI 计算器上的记录标准?
在我的 TI 83 Premium CE 上注意到该测试实际上返回 true(即 1),我感到非常惊讶:
0.1 -> X
0.1 -> Y
0.01 -> Z
X*Y=Z
我期待这会失败,假设我的计算器会使用类似 IEEE 754 标准的东西来表示浮点数。
另一方面,计算 2^50+3-2^50 返回 0,表明大整数似乎使用这样的标准:我们在这里看到大数的尾数是有限的。
数字变量是否遵循 TI 计算器上的记录标准?
在我的 TI 83 Premium CE 上注意到该测试实际上返回 true(即 1),我感到非常惊讶:
0.1 -> X
0.1 -> Y
0.01 -> Z
X*Y=Z
我期待这会失败,假设我的计算器会使用类似 IEEE 754 标准的东西来表示浮点数。
另一方面,计算 2^50+3-2^50 返回 0,表明大整数似乎使用这样的标准:我们在这里看到大数的尾数是有限的。
=
是一个宽容的比较试试1+10^-12=1
你的计算器。这些数字的表示方式不同(1+10^-12-1
Give 1E-12
),但您会注意到比较返回 true:这是因为=
具有一定的容差。在我的计算器上测试的 AFAICT,如果四舍五入到十位有效数字时数字相等,=
将返回 true。
其次,
TI 浮点数是一种 BCD 格式,长度为 9 个字节,其中 1 个字节用于符号和辅助信息,14 位(7 个字节)精度。第 9 个字节用于额外的精度,因此可以正确舍入数字。
有关更多信息,请参阅@doynax 链接到的源。