TI 基本数值标准
TI Basic Numeric Standard
数值变量是否遵循 TI 计算器的记录标准?
我真的很惊讶地注意到我的 TI 83 Premium CE 这个测试实际上 returns 正确(即 1):
0.1 -> X
0.1 -> Y
0.01 -> Z
X*Y=Z
假设我的计算器会使用类似 IEEE 754 标准的东西来表示浮点数,我原以为这会失败。
另一方面,计算2^50+3-2^50 returns 0,显示大整数似乎使用这样的标准:我们在这里看到大数的尾数是有限的。
TI-BASIC的=
比较宽容
在您的计算器上尝试 1+10^-12=1
。这些数字并不均等(1+10^-12-1
给出 1E-12
),但您会注意到比较 return 是正确的:那是因为 =
具有一定的容差。根据我的计算器测试的 AFAICT,如果四舍五入到十位有效数字时数字相等,=
将 return 为真。
其次,
TI-BASIC 使用专有的 BCD 浮点格式
TI 浮点数是一种 BCD 格式,长度为 9 个字节,其中一个字节用于符号和辅助信息,精度为 14 位(7 字节)。第九个字节用于提高精度,以便可以正确舍入数字。
有关详细信息,请参阅@doynax here 链接到的来源。
数值变量是否遵循 TI 计算器的记录标准?
我真的很惊讶地注意到我的 TI 83 Premium CE 这个测试实际上 returns 正确(即 1):
0.1 -> X
0.1 -> Y
0.01 -> Z
X*Y=Z
假设我的计算器会使用类似 IEEE 754 标准的东西来表示浮点数,我原以为这会失败。
另一方面,计算2^50+3-2^50 returns 0,显示大整数似乎使用这样的标准:我们在这里看到大数的尾数是有限的。
TI-BASIC的=
比较宽容
在您的计算器上尝试 1+10^-12=1
。这些数字并不均等(1+10^-12-1
给出 1E-12
),但您会注意到比较 return 是正确的:那是因为 =
具有一定的容差。根据我的计算器测试的 AFAICT,如果四舍五入到十位有效数字时数字相等,=
将 return 为真。
其次,
TI-BASIC 使用专有的 BCD 浮点格式
TI 浮点数是一种 BCD 格式,长度为 9 个字节,其中一个字节用于符号和辅助信息,精度为 14 位(7 字节)。第九个字节用于提高精度,以便可以正确舍入数字。
有关详细信息,请参阅@doynax here 链接到的来源。