计算机为什么要采用二进制:硬件易实现
计算机为什么要采用二进制,核心是硬件电路容易稳定区分两种状态,抗干扰能力较强,运算规则简单,适配逻辑判断,它更适合数字电路,不适合直接给人阅读,适合CPU、内存这类数字硬件;模拟电路、人机交互显示场景一般不会直接使用二进制。二进制只用0和1两个符号,对应电路低电平、高电平两种状态,相比十进制需要识别十种电压层级,硬件设计、制造、调试的成本会明显下降,出错概率更低。
计算机为什么要采用二进制:硬件实现逻辑
数字电路里的晶体管、触发器这类元器件,稳定工作状态大多是导通、截止两种。导通记为1,截止记为0,不需要复杂的分压电路去区分多个电压等级。如果使用十进制,硬件要分辨十种不同电压,电压波动、线路噪声很容易造成识别错误,对供电稳定性、元器件精度要求会大幅抬高,早期集成电路工艺很难支撑这类方案。
两种状态,更容易稳定。
计算机为什么要采用二进制:运算与逻辑优势
二进制加法、乘法的运算规则数量少,加法只有四条基础规则,乘法只有四条基础规则,CPU内部的运算单元电路可以做得更精简。同时二进制和布尔代数完全匹配,布尔代数是数字逻辑的基础,与、或、非三种基础逻辑运算可以直接映射到电路门电路,数据计算和条件判断可以在同一套电路里完成,不用拆分两套独立硬件。
计算机为什么要采用二进制:对比其他进制
| 进制 | 状态数量 | 硬件难度 | 运算复杂度 | 计算机内用途 |
|---|---|---|---|---|
| 二进制 | 2 | 较低 | 低 | 底层存储、运算 |
| 八进制 | 8 | 较高 | 中等 | 早期编程简写,现已少用 |
| 十六进制 | 16 | 高 | 中等 | 程序员查看二进制简写 |
| 十进制 | 10 | 很高 | 高 | 人机输入输出 |
十六进制和八进制只是二进制的简写形式,硬件底层依旧是二进制,它们只是方便程序员阅读和抄写长串二进制数字,不能直接作为电路识别的基础进制。十进制只放在输入输出环节,由专门的转换程序完成进制翻译,键盘输入、屏幕显示都会完成十进制和二进制的互相转换。
计算机为什么要采用二进制:适用边界说明
二进制的这套优势只在离散数字硬件体系内成立,连续信号采集场景不适用。音频、图像采集时的原始模拟信号是连续变化的,需要先经过模数转换器采样量化,变成二进制数字信号之后,计算机才能处理。模数转换环节会引入量化误差,这个误差无法完全消除,采样精度越高,误差会越小。
二进制不是唯一可用于计算的进制,历史上有三进制计算机的试验机型,三进制使用-1、0、1三种状态,理论上信息密度更高,但元器件很难稳定维持三种清晰状态,工程量产难度大,没有大规模商用。
存储介质的工作原理也贴合双状态设计,固态硬盘的存储单元、机械硬盘的磁畴,都可以设计成两种磁化或者电荷状态,用来记录0和1,批量生产的良品率更容易控制。
二进制本身对人并不友好,长串0和1可读性差,程序员开发时几乎不会直接手写二进制,大多使用十六进制、十进制配合高级语言,编译器再把代码转成二进制机器码交给CPU执行。
