【三思言论集】→【三思藏书架】→《你知道吗》            〖本文由碧海听潮声扫校〗

5 普通数和二进制数有什么区别?它们各有什么优点?

  我们通常所用的数都是十进制数。这就是说,它们是按
10的幂来进位的。我们写7291时,实际上就是7×10
加上2×10加上9×10加上1×10。应当记住,
10=10×10×10=1000;
10=10×10=100;
10=10;
10=1。
因此,7291就是7×1000加上2×100加上
9×10再加上1。读出声的时候,就是七千二百九十一。
  由于我们对应用10的各次幂已经非常习惯,所以我们
只须写出他们所乘的数(如7291),其余的都可以略去。
  其实,10的幂次并不是什么神秘的东西。任何一个比
一大的数的幂次都可以起到这样的效果。例如,假定我们现
在想用8的幂来写出7291这个数,这时应当记住
8=1;
8=8;
8=8×8=64;
8=8×8×8=512;
8=8×8×8×8=4096。
这样,我们就可以把7291写为1×8加上6×8加
上1×8加上7×8再加上3×8。(请你们自己把
这个数算出来,并看看所得出的答数。)如果只写出各次幂
所要乘的数字,它就应当是16173。因此,我们可以说
16173(八进制)=7291(十进制)。
  八进制的优点在于除了0以外,你只需记住七个数字。
如果你想用数字8,那你可以写出8×8,而这就等于
1×8。因此,不管任何时候,你都可以用1来代替8。
所以十进制的8等于八进制的10;十进制的89等于八进
制的131,依次类推。但是,用八进制时,一个数所用的
总字数要比用十进制时多。由此可见,基数越小,所用的不
同数字越少,但总字数则越多。
  当你用二十进制时,7291这个数将成为18×20
加上4×20再加上11×20。在这种情形下,如果
你把18写为#,并把11写为%,你就可以说#4%(二
十进制)=7291(十进制)。用二十进制时你将不得不
用19个不同的数字,但是每一个数所用的总字数就会少些。
  十进制是一种很方便的进位制。用这种进位制时,既不
必记住过多的数字,而且在写一个数时,又可不必用过多的
字数。
  什么是二进制数呢?在二进制的情况下,7291这个
数等于1×212加上1×211加上1×210加上0×2
加上0×2加上0×2加上1×2加上1×2加上1
×2加上1×2加上0×2加上1×2再加上1×2。
(请你们自己把这个数算出来,看看得出什么结果。但要记
住2是9个2的乘积,亦即2×2×2×2×2×2×2
×2×2=512。)如果只写出数字,那就是11100
01111011(二进制)=7291(十进制)。
  由于二进制数只需要用两个数字,即1和0,所以做加
法和乘法演算特别简单。但是即使一个很小的数,例如72
91,也要用很多位数表示,因而很容易在我们头脑中造成
混乱。
  但是,电子计算机则可以使用一个双向开关。把开关拨
向某一方向,即把电流接通时,它就代表1。把开关拨向另
一方向,即把电流断开时,它就代表0。这样,通过操纵电
路,使它根据二进制的加法和乘法规则接通和断开,计算机
就能以非常快的速度进行算术演算。同按十进制原理设计、
用标有0到9的齿轮来进行演算的普通台式计算器相比,它
的演算速度要快得多。

阿西莫夫《你知道吗?--现代科学中的一百个问题》
科学普及出版社   1984年
【三思言论集】 欢迎给制作人来信:jasper_uk@sina.com