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