zoukankan      html  css  js  c++  java
  • 关于 1 和 0.999999…… (二)

    我前几天写过一篇文章 《关于 1 和 0.999999……》    https://www.cnblogs.com/KSongKing/p/11204496.html  ,

     

    今天又有了一些想法,所以接着记录一下  。

     

    前几天在网上看到 网友 说  “你能找到一个数位于 0.999999…… 和 1 之间 吗?” ,   我首先的想法是 “不能”   。

    但我昨天突然想到,  能啊,        0.00000……1   就是  位于 0.999999…… 和 1 之间    的 数 啊    。

     

    进一步,   可以看到,    如果 1 和 0.999999…… 相等,    那么 0.999999…… 和 0.99999……8  相等,   0.99999……8 和 0.99999……7 相等 ,  ……

    所以 1 和 0.99999……7 相等, 1 和 0.99999……6 相等,  ……  ,     1 和 任何数 相等  。

     

    所以,    所谓的 “实数系” 下 “证明” 1 和 0.9999…… 相等 只是 从 “实数系” 要 解决的 需求 场景 和 公设 出发,是 为 “实数系” 要 解决 的 问题 服务的,是 有 适用 范围 的,不是 普遍真理    。

     

    实数系 证明 “1 和 0.9999…… 相等”   也只是 在 实数系 公理 下 的 结论,     从 软件 的 角度 讲, 看 需求 场景,  看  “实数系”  要 解决 什么 问题  。

     

    说白了,这只是 数学 要 达到某些目的(解决某些问题) 推出的结果,在 问题 领域 内 可以 认为 相等,但 脱离 了 问题 领域,就另当别论   。

    如果 咬死了 “数学 说 就是 相等”,那就是 思想闭塞 了 。

    我不知道 “实数系” 是个 什么东西,但 说白了 这跟 极限 是 一个 原理,   就像 微积分里面,在 无穷 的 领域 用 1 来 等价代换 0.9999……    。


    我想 实数系 也是 用 这个 代换 来 解决 问题 的,      但是 自己 又 很尴尬 的 强行 去 做一个 证明,    这就 尴尬 了   。

     

    我在 《关于 1 和 0.999999……》    https://www.cnblogs.com/KSongKing/p/11204496.html      中 已经 分析 的 很清楚,

    “1 和 0.9999…… 相等”    的 实质 是 一个 等价代换,   这个 等价代换 发生在 无穷 的 情形 时,   无穷 的 情形 也可以说是 极限 的 情形 。

     

    这个 原理 可以 称为   “K氏连续协变原理”     。

     

    微积分  实数系 ,  一切 数学分支 和 场景,    如果 认为 / “需要”     1 和 0.9999…… 相等  ,    则 必然 服从   K氏连续协变原理   。

     

    当然,   有 网友 说 我的 分析 不是 严格 的 数学证明,      这没关系 。

     

    我的 分析 和  K氏连续协变原理  是     数理哲学    的    范畴  ,

    可以 先在 数理哲学 的 层面 把握 事物 的 本质,  再 来 做 数学证明   。

     

    K氏连续协变原理      中 提到了  “动态(dynamic)”  和  “静态(static)”     2 个 概念,   见 《关于 1 和 0.999999……》    https://www.cnblogs.com/KSongKing/p/11204496.html   , 

     

    这对于 分析把握  “1 和 0.9999…… 相等”  问题  以及 澄清  “1 和 0.9999…… 是否相等”  之争  有 重要意义   。

     

    动态 和 静态 是 程序员 的 习惯用语,    数学高才生 们 就 心领神会 吧  。   哈哈哈     。

     

    一定 要 从 动态 和 静态 的 角度 出发,    才能搞清楚 “1 和 0.9999…… 相等 / 不等”     的 意义   。

     

    比如 我看到 一个 证明 “1 和 0.9999…… 相等”   的 证明 :

     

    1 / 3 = 0.3333……  (1 除以 3 等于 0.3333……)  ,    所以    1/3 和 0.3333……     相等,

    或者,   1 / 9 = 0.11111……  (1 除以 9 等于 0.1111……) ,   因为  1 / 9 * 9 = 1  ,    而 1 / 9 = 0.11111…… , 所以    0.1111…… * 9 = 1 , 即  0.9999……  =  1   。

     

    这是什么 逻辑?    ^^

    这个 逻辑 是 有问题 的,     因为 不管 1 / 3 (1 除以 3) 还是 1 / 9 (1 除以 9),      你 那个 除法 没 做完 啊,

    你那个 除法  一直 都在做,   现在 我写文章 的 时候 在 做,     我写好了 文章 以后 还 在 做,  未来 也 一直 做,    没完没了 的 做,  永远 也 做不完,      既然 做不完,  就说 “相等”   ,   这也太 心急 了 吧?

     

    这就是 “动态” 。

     

    如果 放到 希腊神话 里,    这个问题 可以 写成一个 神话段子,  

    宙斯 和 数学之神 赫尔墨斯 父子俩 讨论 数学问题,   宙斯 对 赫尔墨斯 说: “你用 1 除以 9,  当 你 完成 这个 除法 的 时候,   1 和 0.9999…… 就是 相等 的 。”

    于是,   赫尔墨斯 就开始 做 1 除以 9 的 除法,    然后 就 一直做, 不停的做   ……

    从 公元前 做到 今天,   做了 几千年,    也可以说是 几万年,          到 今天,    2019 年 8 月 2 号,

    赫尔墨斯  停了下来,    对 宙斯 说:“父王,  我错了,  1 和 0.9999……  是 不相等 的,    数 的 奥义 就像 神 的 智慧 一般 深广无尽,  我的 智慧 不能 穷尽 。”

     

    所以,     要 从 动态 和 静态 的 角度 出发,    才能搞清楚 “1 和 0.9999…… 相等 / 不等”     的 意义     。

     

    进一步,    可以发现,     0.3333……   不是  1 / 3   的 准确值  。

     

    因为 1 除以 3 除不尽,   所以 永远有一个 余数 1,   然后 继续 用 余数 1 除以 3,  然而 1 除以 3 是 除不尽 的,   所以, 1 除以 3 是  求不到 准确值 的 。

    即使 无限 的 除下去,   余数 1 始终不能 被 3 整除,    所以 无法 求得 准确值 。

    所以, 这不是 “无限” 就 “相等” 的 问题  。

    1 / 3  的 准确值 和 0.3333……   之间 永远 存在 一个 不可逾越 的 鸿沟 。

    1 / 3 的 准确值 只有   1/3(三分之一)  这个 分数 才能 表示   。

     

    再重复一遍,   余数 始终不能 被 整除,   这 表示 无法 获得 准确值 。

     

    这 和     “   因为 ‘无限’ ‘连续’ ‘极限’,  所以 ‘相等’   ”  ,       是 两回事,   是 有 本质区别 的  。

     

    什么是 准确值  ?        余数 最终 被 整除 得到的 才是 准确值,     余数 不能 被 整除,  这是 哪门子 的 准确值 ?     这个 值 和 准确值 之间 永远 存在 一个 不可逾越 的 鸿沟  。

     

    举个例子,   对于 1 / 3 (1 除以 3),       0.3 + 0.1 / 3  是 准确值,    0.33 + 0.01 / 3  是 准确值,    0.3333…… + 0.0000……1 / 3  是 准确值,

    或者,        0.3 + 1 / 30  是 准确值,    0.33 + 1 / 300  是 准确值,    0.3333…… + 1 / 30000……  是 准确值,

     

    所以,    用    0.3333…… + 0.0000……1 / 3    或者    0.3333…… + 1 / 30000……    和   0.3333……    对比一下,

    就知道    0.3333……    不是 准确值 了,   并且 和 准确值 之间 永远 存在 一个 不可逾越 的 鸿沟  。

    这很 清楚明了   。

     

    所以, 到这里,  这实际上 已经 不是 一个 “动态”  的 问题 了,   这是一个 “静态” 的 问题,

    由  1 / 3 (1 除以 3)  除不尽 这个 矛盾 就 决定 了  0.3333……   不是  1 / 3   的 准确值   。

    或者说,  由  1 / 3 (1 除以 3) 这个 除法 本身 就 决定 了  0.3333……   不是  1 / 3   的 准确值   。

    这是一个 静态 的 问题 。

     

    0.3333…… * 3 = 0.9999……   不等于 1,   但是 1/3 * 3 = 1   ,    还可以这样来看:

    上面说了,   分数 1/3 (三分之一) 是  1 / 3 (1 除以 3) 的 准确值,   而 1/3(三分之一) 在 和 3 相乘 时,  分母 3 被 约分 约掉了,   所以得到的 积 是 准确值 1    。

    分母 3 被 约掉,  表示 解除了 除不尽 这个 矛盾 。

     

    所以,  说 1/3(三分之一) 和 0.3333…… 相等,   或者 用 0.1111…… * 9 = 0.9999……  来 证明 0.9999…… 和 1 相等,  这是 偷换概念 。

    偷换 什么 概念 ?

    用 1/3 (三分之一) 替换  0.3333…… ,   用 1/9 (九分之一) 替换  0.1111……  ,    这 就是 偷换概念 。

     

    0.3333……  不是 1/3 (三分之一)  的 准确值 ,   这个 现象 可能很少有人察觉和发现 。

     

    严格来说,   我们  从 小学 就开始用的   1 / 3 (1 除以 3) = 0.3333……     这个 等式   的 等号 = , 表示的是 一种 记数方法,  和  表示 准确值 相等 的 等号 =    是 有 区别 的 。

     

    1 / 3 = 0.3333……     这个 等式 作为一个 记数方法,    其实 保留(包含) 了 一个 除法因子    0.0000……1 / 3   ,

    有了这个 除法因子 的话, 可以看到 :

    1 / 3  *  3    =    (  0.3333……   +   0.0000……1 / 3  )   *   3    =    0.9999……  +   0.0000……1    =    1

    好的,    关于 1 和 0.9999……   的 问题,  我们 就 先 讨论到 这里  。

     

    说到这里,    我想起了 三清老师 的 一个 帖子 《连续、无限的奥秘》   http://tieba.baidu.com/p/6161245440    ,

     

    不过 我也 建议 三清老师  系统 的 整理一下 自己的 学说,   比如 整理 到 博客 上 。

     

    我支持 三清老师 ,   也 同情 三清老师  。   ^^

     

    我喜欢 看到 各种各样 的 观点 ,     我 喜欢 看到 很多 各种各样 的 观点 在一起 争鸣  。     很多 各种各样 的 观点 在一起 争鸣 会 带来 知识 的 繁荣 和 进步发展  。

     

    就像 春秋时期 的 “诸子百家 百家争鸣” 。   春秋 为什么 叫 “春秋” ?       因为 春秋时代 就像 春天 和 秋天,   春华秋实 , 百花盛开, 百花齐放,  繁花似锦,  繁华似锦 , 生机盎然  。

     

  • 相关阅读:
    转: 分布式系统编程,你到哪一级了?
    window屏幕朝向的调整 Alt + Ctrl + 上下左右箭头
    win10的安装与下载
    Zookeeper的学习材料
    配置文件的格式选型
    转: YAML 语言教程 from(阮一峰)
    Eclipse的 JSON Edit插件
    转: 如何为你的开源项目选择一个合适的开源协议?
    在Eclipse中使用SVN插件subclipse的教程
    我们在呼唤上帝还是在召唤恶魔——警惕人工智能
  • 原文地址:https://www.cnblogs.com/KSongKing/p/11289330.html
Copyright © 2011-2022 走看看