十进制的历史非常悠久,作为一种简洁的计数方法,它就象感冒一样,很快通过贸易和战争传到西方,并经由他们传遍了整个世界。相比之下,二进制的发明则出现得非常晚,时间是19世纪,以后我们还要详细说说这事儿。因为机器不象人类的大脑那样复杂和灵活,要控制它们,简单才是最有效的。
  
   在平时的工作中,即使是资深的程序员也不一定经常与二进制打交道,但是从方便的角度,记住一些常见的二进制数还是很有必要的,否则会让某些人觉得你不是那么“专业”。比如(用十进制的话来说)1到15、255、65535等。
  
   十进制数具有不同的数位,分别是个位、十位、百位、千位,等等,但是在二进制里通常不需要这样细致的划分,因为二进制数一般都很长,为一个只在技术领域里有限使用的数制创造太多的规则实在没有太大必要,也很麻烦。对于单个的二进制数位,它们都只有一个称呼“比特”,每个比特具有两个可能的值:0或者1。

图2.15

    最早,二进制中的每一位在英语里被表示成Binary digit,意思是“二进制数位”,或者“二进制数字”。但是很快人们就看清了,Binary digit这个术语将随着计算机技术的快速发展而越来越多地被人们使用。这使得有个具有远见而且好事的统计学家图凯希望为它起一个更加短小的名称以方便交谈和书写。Tukey扮演着二十世纪中期统计学发展的关键人物,他生于1915年,是家里的独子,从小在家接受教育直到后来进入大学研读数学和化学,一生成就非凡且荣获很多奖项。他一开始想到的是bigit和binit,但最终他选择使用bit这个单词,并由于它的短小和亲和性而广为接受。这还不算,一些更懒惰的聪明人干脆直接将它写作“b”而不是“bit”。当它传入中国的时候,它被依照发音翻译成“比特”。图2.15中的二进制数共有7位,可以记作7比特、7bit或者7b,具体怎么写随你的便。

   “比特”是计算机专业里使用得比较多的术语之一,差不多在每本专业书籍里都有可能重复出现。相比之下,它的长辈“二进制”这个术语则用得越来越少。
  
   关于二进制我们最后想说的是它的小数表示方法。象十进制一样,二进制也是可以表示小数的。如果不是这样的话,现在的计算机也许只有在梦中才会出现。毕竟,小数是很常见的,即使是到菜市场买菜,菜钱也通常都是有零有整的。你要是好好说,这零头就抹了,要是你唧唧歪歪的,这菜估计就买不成了。
  
   二进制小数在写法上与十进制没有什么区别,都是在整数部分和小数部分之间写一个圆点,象这样:
  
   11011001.101011
  
   要将二进制小数转换成十进制,或者把十进制转换成二进制,整数部分和小数部分都要分开进行,然后分别写在小数点的左边和右边。具体如何进行已经超出了本书的话题范围。“学计算机还要熟悉如何把一个十进制数换算成二进制?”经常有人如此质疑,语气还很严厉。不过他们的话也不是没有道理。即使是不知道如何在这两种数制之间进行换算,也不影响你继续往下阅读本书。当然,如果你对此有兴趣,希望搞清楚它们之间换算的方法,可以参阅附录Ⅰ。要是你不介意,这一章的内容就到此为止。
  

  ※
  ※
  ※
  ※第三章 开关和二进制
  ※
  ※
  ※