拓十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

计算机为什么用二进制?十进制会有什么问题【庖丁解牛】

计算机为什么用二进制?十进制会有什么问题【庖丁解牛】 根因计算机底层依靠电子元器件的物理状态来表达信息。硬件最容易稳定实现的是两种状态通电/断电、高电平/低电平、磁畴正向/反向。二进制刚好只有0、1两个符号完美匹配硬件双稳态特性如果强行做十进制需要电路稳定区分10种不同电平硬件难度、成本、抗干扰能力都会出现巨大短板。一、计算机选用二进制的4个核心理由硬件容易实现最根本原因晶体管、二极管、继电器这类器件天然适合两种状态。用0代表低电平、1代表高电平电路只需要识别“有没有达到阈值”判断逻辑简单。比如继电器吸合1断开0闪存、硬盘磁粒两种磁极对应0和1。制造简单、检测简单。抗干扰能力强容错高信号传输过程会受到电压波动、电磁干扰。只区分两种状态只要信号不跨阈值就不会读错。哪怕电平有小幅抖动依然可以稳定识别0和1。运算规则简单二进制加法、乘法的运算公式极少。加法只有4种组合电路只需要搭建简单的门电路与门、或门、非门就能完成计算。逻辑电路设计简化CPU硬件规模更小。同时布尔代数逻辑与、或、非和二进制一一对应计算机判断真假、分支逻辑天然适配。适合差错校验校验和、奇偶校验、CRC这些底层检错纠错机制都是基于比特0/1设计方便在存储、网络传输中发现数据错误。二、如果计算机直接使用十进制会遇到的问题十进制需要表达09一共10个数字就要求硬件能够识别10种不同等级的电压。硬件实现难度暴增假设用0V代表0、1V代表1一直到9V代表9。电路要精确维持10档电压元器件制造精度要求极高成本会大幅上涨。极易受干扰容易读错电压在传输时会衰减、噪声干扰。比如代表5的5V信号干扰后变成4.6V系统分不清这是4还是5。相邻电平差距很小一点点干扰就会造成数值识别错误可靠性很差。运算电路极其复杂十进制加法需要记忆大量加法口诀对应的硬件加法器电路会庞大很多芯片晶体管数量暴涨运算速度下降功耗大幅提升。逻辑判断难以实现布尔逻辑只有真假二值和十进制没有天然对应关系做条件判断、分支、位操作都会变得非常麻烦。补充区分计算机底层硬件存储、运算一定是二进制我们日常看到的十进制只是软件层面的显示转换。CPU把二进制运算结果翻译成十进制字符串给人看并不是硬件直接跑十进制。历史上确实研制过十进制计算机比如ENIAC早期设计、一些实验性十值机器但因为上面这些缺陷无法大规模普及最终被二进制架构全面替代。误区澄清误区二进制只是为了方便程序员写代码。纠正不是。是硬件物理特性决定了必须优先选二进制和编程写法无关。程序员用十六进制也只是二进制的简写底层依旧是0、1比特。电子器件天然具备两种稳定状态二进制0/1刚好匹配硬件电路简单、抗干扰强十进制需要区分10种电平硬件难制造、极易受干扰出错运算电路复杂不适合作为计算机底层的信号载体。
返回列表