第1章 0的故事:无即是有

按权威原书目录重建第1章 0的故事:无即是有,覆盖按位计数法、二进制、基数转换、零的占位作用、指数法则。

先做预测

先不要计算。预测当输入规模、随机机制、基底或数值精度变化时,结论是否仍成立;再写出你依赖的假设。本章从十进制和二进制的按位计数出发,解释零既是数值,也是占位符和规则统一器。关键不是背进制转换步骤,而是看见有限符号如何借位置权重表示无限多整数,以及计算机为何偏爱两种稳定状态。 本章用、、、、建立可检查的语言。

原书章节定位

本页对应权威目录中的“第1章 0的故事:无即是有”,不是把多本数学书的相近主题拼成一章。原书在这里要解决的中心问题是:本章从十进制和二进制的按位计数出发,解释零既是数值,也是占位符和规则统一器。关键不是背进制转换步骤,而是看见有限符号如何借位置权重表示无限多整数,以及计算机为何偏爱两种稳定状态。 阅读时先辨认对象和关系,再看符号如何压缩这些关系,最后检查程序是否保持同一语义。

核心单元索引

  1. 按位计数法:每一位的符号乘以该位置的基数幂;位置改变,同一符号的权重也改变。
  2. 二进制:只用0和1表示数,位权依次为1、2、4、8;它适合用高低电平实现。
  3. 基数转换:整数不断除以目标基数并逆序收集余数;验证时应重新按位展开。
  4. 零的占位作用:零保留缺失位的位置,让2503中的百位缺失不会改变其他位的权重。
  5. 指数法则:零次幂把边界规则统一为1,负指数把位权扩展到小数方向。

这些单元构成一条依赖链。按位计数法负责每一位的符号乘以该位置的基数幂;位置改变,同一符号的权重也改变。 二进制负责只用0和1表示数,位权依次为1、2、4、8;它适合用高低电平实现。 基数转换负责整数不断除以目标基数并逆序收集余数;验证时应重新按位展开。 零的占位作用负责零保留缺失位的位置,让2503中的百位缺失不会改变其他位的权重。 指数法则负责零次幂把边界规则统一为1,负指数把位权扩展到小数方向。 如果跳过定义直接套公式,计算可能正确,却无法判断结论何时失效。

从问题开始

先把“会计算”改写成五个可反驳的问题:按位计数法处理的对象是什么,二进制保留了哪些信息,基数转换执行后哪些量应保持不变,零的占位作用依赖哪些前提,指数法则用什么观测验收?回答时必须给出对象集合、输入域、单位或概率机制。若这些信息缺失,同一个符号可能在相邻步骤中悄悄换义,后面的精确计算也无法挽救模型。

每一位的符号乘以该位置的基数幂;位置改变,同一符号的权重也改变。 因而第一张检查表记录定义和非例;只用0和1表示数,位权依次为1、2、4、8;它适合用高低电平实现。 第二张检查表记录表示变化;整数不断除以目标基数并逆序收集余数;验证时应重新按位展开。 第三张检查表记录推导所保持的不变量。零保留缺失位的位置,让2503中的百位缺失不会改变其他位的权重。 负责指出退化边界,零次幂把边界规则统一为1,负指数把位权扩展到小数方向。 则把数学结论翻译成可观察证据。五张表共同回答“为什么这一步可以做”,而不只回答“怎么算”。

M:XY,xy\mathcal M:X\longrightarrow Y,\qquad x\mapsto y

这里的映射符号不是说所有章节都线性,而是要求明确输入集合X、输出集合Y和模型M。离散章节的M可以是逻辑规则或递归,概率章节可以是分布或条件化,线性代数章节则常由矩阵实现。模型改变时,旧结论必须重新验收。

反例推演

从正常样例开始:选择一个能同时出现按位计数法和二进制的最小输入,手算中间状态;随后把规模减到零或一,检查定义是否仍有意义;再制造零的占位作用的退化情形,观察结果是不存在、不唯一、偏差增大还是数值不稳定。最后使用“把二进制当成另一套记忆表,而不理解位权,因此遇到前导零、小数或掩码就失去判断依据。”作为反例方向,指出最先失效的定义或等式。

反例不是为了否定整章,而是标记结论的边界。一个合格说明要写成“在条件A、B、C下得到结论Q;删除B时,输入x产生现象R,因此Q不能外推”。只说“这个例子不工作”不足以区分模型错误、实现错误与资源耗尽。权限位是零的工程化应用:每个二进制位代表一项独立能力,按位或负责授予,按位与负责查询,按位异或负责翻转。表示很紧凑,但位号、掩码和默认值必须进入协议文档,否则一个移位错误就会改变权限边界。

ε=distance(yobserved,ypredicted)\varepsilon=\operatorname{distance}(y_{observed},y_{predicted})

距离的含义随章节变化:精确离散结果可用相等或不变量,概率模拟可用频率误差与区间,数值线性代数可用残差范数和相对误差。先定义误差,再运行实验;不能看到输出以后才挑一个对自己有利的指标。

验收证书

验收证书包含五栏。定义栏写按位计数法与二进制的输入域和单位;推导栏逐步说明基数转换使用的规则;边界栏记录零的占位作用在零值、极值和退化输入下的状态;实现栏保存算法版本、依赖和随机种子;结论栏用指数法则对应的误差或反例决定通过。任何一栏缺失,都只能称为演示,不能称为可复核结论。

accept=(assumptions hold)(ετ)(counterexamples explained)\operatorname{accept}=\bigl(\text{assumptions hold}\bigr)\land\bigl(\varepsilon\le\tau\bigr)\land\bigl(\text{counterexamples explained}\bigr)

阈值tau必须在看结果前定义,并与业务或数值预算关联。精确问题的阈值可以是零,浮点问题应按尺度使用相对容差,统计问题应报告区间与功效而不是硬凑单点。验收结论还要注明未覆盖范围,使下一位读者知道哪里需要重新建模。

可核查推导

N=i=0kbi2i,bi{0,1}N=\sum_{i=0}^{k} b_i 2^i,\qquad b_i\in\{0,1\}

把二进制1101展开为1乘8、1乘4、0乘2、1乘1,得到13。反向转换时连续除2得到余数1、0、1、1,余数出现顺序是从低位到高位,因此必须逆序。两条路径互为校验,任何一步都能定位错误位。 推导中的每个等号都应能说明用了定义、代数恒等式还是额外假设。若某一步只在有限、独立、满秩或可导等条件下成立,就把条件写在该步旁边,而不是藏在结论之后。

def to_binary(n: int) -> str:
    if n == 0:
        return "0"
    digits = []
    while n:
        n, bit = divmod(n, 2)
        digits.append(str(bit))
    return "".join(reversed(digits))
 
assert to_binary(13) == "1101"

上面的程序是推导的一个有限投影。它能发现实现错误,却不能单独证明对所有输入成立。验收时至少用手算小例、随机样例和故意破坏假设的反例三路比较。

机制与数据流

按位计数法:每一位的符号乘以该位置的基数幂;位置改变,同一符号的权重也改变。

二进制:只用0和1表示数,位权依次为1、2、4、8;它适合用高低电平实现。

基数转换:整数不断除以目标基数并逆序收集余数;验证时应重新按位展开。

把数据流写成“输入对象 → 表示 → 变换 → 结果 → 证据”。这样可以定位单位、概率质量、维度或状态在哪一步丢失,也能区分数学模型错误与代码实现错误。

边界与失败模式

零的占位作用:零保留缺失位的位置,让2503中的百位缺失不会改变其他位的权重。

指数法则:零次幂把边界规则统一为1,负指数把位权扩展到小数方向。

边界测试不只包括零、空集合和单元素。离散问题要检查规模翻倍与溢出,概率问题要检查归一化、相关性和尾部,线性代数问题要检查维度、秩、条件数与浮点残差。只有失败状态也能被解释,模型才可用于工程决策。

experiment = {
    "claim": "按位计数法到指数法则的关系",
    "normal_case": "满足本章全部假设",
    "boundary_case": "零规模、退化分布或近奇异输入",
    "counterexample": "把二进制当成另一套记忆表,而不理解位权,因此遇到前导零、小数或掩码就失去判断依据。",
}
assert set(experiment) == {"claim", "normal_case", "boundary_case", "counterexample"}

工程案例

权限位是零的工程化应用:每个二进制位代表一项独立能力,按位或负责授予,按位与负责查询,按位异或负责翻转。表示很紧凑,但位号、掩码和默认值必须进入协议文档,否则一个移位错误就会改变权限边界。 案例验收应同时保存输入快照、参数与单位、算法版本、随机种子、退出状态和摘要结果。若只保存最终图或最终数字,后来无法区分数据变化、模型变化和实现变化。

evidence = [
    ("按位计数法", "definition"),
    ("基数转换", "derivation"),
    ("指数法则", "boundary-and-counterexample"),
]
assert len({name for name, _ in evidence}) == 3
  1. 手算一个最小非平凡样例,标注每个符号的语义和单位。
  2. 运行程序并与手算结果比较,再加入零、边界、非法和退化输入。
  3. 故意删除一个关键假设,记录哪个推导步骤首先失效。
  4. 固定环境与随机种子重跑,保存残差、频率或复杂度,而不只保存“通过”。

常见误区

本章回顾

本章一一覆盖按位计数法、二进制、基数转换、零的占位作用、指数法则。掌握标准不是背出名词,而是能从定义重建公式,用程序复查有限实例,说明复杂度、概率或数值误差,并给出结论失效时的反例。

术语表

讨论

评论区加载中…