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

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

    　　我们通常所用的数都是十进制数。这就是说，它们是按
    １０的幂来进位的。我们写７２９１时，实际上就是７×１０３
    加上２×１０２加上９×１０１加上１×１００。应当记住，
    １０３＝１０×１０×１０＝１０００；
    １０２＝１０×１０＝１００；
    １０１＝１０；
    １００＝１。
    因此，７２９１就是７×１０００加上２×１００加上
    ９×１０再加上１。读出声的时候，就是七千二百九十一。
    　　由于我们对应用１０的各次幂已经非常习惯，所以我们
    只须写出他们所乘的数（如７２９１），其余的都可以略去。
    　　其实，１０的幂次并不是什么神秘的东西。任何一个比
    一大的数的幂次都可以起到这样的效果。例如，假定我们现
    在想用８的幂来写出７２９１这个数，这时应当记住
    ８０＝１；
    ８１＝８；
    ８２＝８×８＝６４；
    ８３＝８×８×８＝５１２；
    ８４＝８×８×８×８＝４０９６。
    这样，我们就可以把７２９１写为１×８４加上６×８３加
    上１×８２加上７×８１再加上３×８０。（请你们自己把
    这个数算出来，并看看所得出的答数。）如果只写出各次幂
    所要乘的数字，它就应当是１６１７３。因此，我们可以说
    １６１７３（八进制）＝７２９１（十进制）。
    　　八进制的优点在于除了０以外，你只需记住七个数字。
    如果你想用数字８，那你可以写出８×８３，而这就等于
    １×８４。因此，不管任何时候，你都可以用１来代替８。
    所以十进制的８等于八进制的１０；十进制的８９等于八进
    制的１３１，依次类推。但是，用八进制时，一个数所用的
    总字数要比用十进制时多。由此可见，基数越小，所用的不
    同数字越少，但总字数则越多。
    　　当你用二十进制时，７２９１这个数将成为１８×２０２
    加上４×２０１再加上１１×２００。在这种情形下，如果
    你把１８写为＃，并把１１写为％，你就可以说＃４％（二
    十进制）＝７２９１（十进制）。用二十进制时你将不得不
    用１９个不同的数字，但是每一个数所用的总字数就会少些。
    　　十进制是一种很方便的进位制。用这种进位制时，既不
    必记住过多的数字，而且在写一个数时，又可不必用过多的
    字数。
    　　什么是二进制数呢？在二进制的情况下，７２９１这个
    数等于１×２１２加上１×２１１加上１×２１０加上０×２９
    加上０×２８加上０×２７加上１×２６加上１×２５加上１
    ×２４加上１×２３加上０×２２加上１×２１再加上１×２０。
    （请你们自己把这个数算出来，看看得出什么结果。但要记
    住２９是９个２的乘积，亦即２×２×２×２×２×２×２
    ×２×２＝５１２。）如果只写出数字，那就是１１１００
    ０１１１１０１１（二进制）＝７２９１（十进制）。
    　　由于二进制数只需要用两个数字，即１和０，所以做加
    法和乘法演算特别简单。但是即使一个很小的数，例如７２
    ９１，也要用很多位数表示，因而很容易在我们头脑中造成
    混乱。
    　　但是，电子计算机则可以使用一个双向开关。把开关拨
    向某一方向，即把电流接通时，它就代表１。把开关拨向另
    一方向，即把电流断开时，它就代表０。这样，通过操纵电
    路，使它根据二进制的加法和乘法规则接通和断开，计算机
    就能以非常快的速度进行算术演算。同按十进制原理设计、
    用标有０到９的齿轮来进行演算的普通台式计算器相比，它
    的演算速度要快得多。

    阿西莫夫《你知道吗？--现代科学中的一百个问题》
    科学普及出版社   1984年

【三思言论集】欢迎给制作人来信：jasper_uk@sina.com