每个 double 都是有理数吗(不包括特殊值[Infinity、-Infinity、NaN])?基于以下逻辑,我倾向于说"is":
- 尾数有一个可以表示为小数的值,该值可以是分子。
- 指数可以转换为分母,以便结果根据需要按比例放大或缩小。
这个逻辑正确吗?如果不正确,那么它出了什么问题,是否有反例证明 double 值可能是无理数?
最佳答案
这个逻辑看起来是正确的。
计算机只能使用有限的空间,这意味着它们只能在内存中表示有理数(当使用double
格式时),因为无理数由无限多个不重复的数字组成。
想想看,但是,您可以存储定义数字的函数的可执行代码,无论是否有理数,但这并不适用于所有无理数,更重要的是,不是这样 double
有效。
至于特殊值,我不这么认为。无穷大并不是一个真正的数字,所以我发现很难定义有理数或无理数。 NaN 也是如此(根据定义,它不是数字)。
关于java - 每个双值都是有理数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46477431/