提到进位制,大家应该都对十进制比较熟悉,因为生活中大都使用十进制的,我们从小学就开始学习十进制的四则运算。既然人类对十进制这么熟悉,为什么计算机不和人类使用一样的进制呢?
二进制的表示
计算机底层由一堆电子电路组成,我们来看一个最简单的电路例子:
你可能已经猜到上面电路的功能了:
- 开关闭合时,灯泡亮
- 开关断开时,灯泡灭
我们可以用开关闭合代表 1,开关断开代表 0。这就是一个简单的二进制电路。
与此类似,磁盘其实是由很多小磁铁组成的,磁铁的 N 极表示 1,S 极表示 0。所以每个小磁铁和开关一样,也是有 0 和 1 两种状态。
早期的元器件只能表示这两种状态(比如开和关、 N 和 S 等),这就是为什么计算机用的是二进制的原因了。你想想,如果计算机用十进制的话,这个电子元器件得有十种状态,该多么复杂呢!
二进制的位和字节
不过仅用一位数能表示的数字有限,比如二进制是 0-1,十进制是 0-9,十六进制是 0-15。一位数字当然满足不了我们的需求,如果计算机只能处理 0-1 的范围,人类只能处理 0-9 的范围,一个磁盘就只能存储 0 和 1 这两个数字,那么社会发展可能早就停滞不前了吧!
聪明的人类选择用更多的位数来计数,十进制里我们可以用八位数表示亿以内的数字,二进制也是同理。我们一般把 8 位的二进制叫做一个字节(byte)。一个字节能表示 0-255 个值(想想为什么是 255 呢?)。如果想处理更多的信息,就需要更多的位数,比如 64 位的 CPU 能比 32 位的 CPU 处理更多更快的信息。
二进制里“3”的表示
了解这么多了,现在想想如果十进制里的 3,用二进制该怎么表示呢?
其实这个问题和“用十进制表示 9+2”是一样的道理。那就是通过进位。十进制是逢十进一,二进制是逢二进一。
现在我们来看下二进制里怎么表示 3:
上图清晰地展示了二进制里的计算过程,是不是和十进制的进位是一样的逻辑?
1 个字节(8 位的二进制数)里,每个位数权重不一样,分别是 1、2、4、8、16、32、64、128。与此类似,十进制是个、十、百、千、万等等。
现在,你是不是已经弄懂二进制了?
评论已关闭。