什么是二进制,为什么要用二进制

什么是二进制?
计算机最早是机电设备,一般用十进制计数,比如用齿轮数来代表十进制,再到晶体管计算机,晶体管计算机只用开/关两种状态就可以代表信息,就叫二进制,意思是“用两种状态表示”。
(如果你觉得两种状态不够多,那也没错,量子计算机可以了解一下)

为什么要用二进制?
晶体管的确可以不只是开/关,也可以让不同大小的电流通过,一些早期的电子计算机就是三进制的,有3中状态,甚至5进制,5中状态。
但问题是,状态越多,越难区分信号,如果手机快没电了或附近有电噪音(电磁炉啥的),这时信号就可能会混在一起。晶体管每秒的变化次数可以高达百万次,然后接收的信号杂乱,也就是晶体管这时不知道要处理哪个信号了。
所以尽量把两种信号分开,只用 “开” 和 ‘关" 两种状态,可以尽可能的减少信号干扰问题。
如图:
什么是二进制,为什么要用二进制_第1张图片什么是二进制,为什么要用二进制_第2张图片
计算机使用二进制的另一个原因是:有一整个数学分支的存在,专门处理真和假(0,1),它已经解决了所有运算法则,叫做 “布尔代数”。

布尔代数中有三个基本操作:NOT,AND和OR

NOT操作是把布尔值反转,把true进行NOT就会变成false,反正亦然。晶体管可以轻松实现这个逻辑,晶体管只是电控制的开关,有3根线:2根电极和1根控制线,控制线通电时,电流可以从一个电极流到另一个电极。可以把控制线当作输入,底部的电极当作输出。所以1个晶体管只有一个输入和一个输出。
那么晶体管怎么实现NOT呢?
大概知道就行了。。。

其实程序员不太要考虑逻辑是怎样在物理层面实现的。

你可能感兴趣的:(汇编)