我在这里问这个问题是因为我相信这更像是一个程序问题而不是其他任何事情。
我正在使用 TI-84 Plus Sliver Edition 计算器,其中包含可以测试小于、大于和相等的逻辑运算符。我发现当我输入表达式时:
2^34 == 2^34 - 1
它给了我一个令人惊讶的 1。值得一提的是,我的计算器无法精确输出 2^34 的结果。相反,它使用指数符号和任何其他大于 33 的幂。这是布尔输出中的潜在因素吗?
此外,只有当第二个表达式减去 1 到 9 时,相等性测试才会返回 true。当数字 >= 10 时,它会正确返回 false。
会不会是舍入误差?为什么这个表达式返回真?