计算机简史:从结绳计数到计算机

计算机始祖
谁都知道,电脑的学名叫做电子计算机 。以人类发明这种机器的初衷,它的始祖应该是计算工具 。英语里“Calculus”(计算)一词来源于拉丁语,既有“算法”的含义,也有肾脏或胆囊里的“结石”的意思 。远古的人们用石头来计算捕获的猎物,石头就是他们的计算工具 。著名科普作家阿西莫夫说,人类最早的计算工具是手指,英语单词“Dight”既表示“手指”又表示“整数数字”;而中国古人常用“结绳”来帮助记事,“结绳”当然也可以充当计算工具 。石头、手指、绳子……,这些都是古人用过的“计算机” 。

计算机简史:从结绳计数到计算机

文章插图
 
不知何时,许多国家的人都不约而同想到用“筹码”来改进工具,其中要数中国的算筹最有名气 。商周时代问世的算筹,实际上是一种竹制、木制或骨制的小棍 。古人在地面或盘子里反复摆弄这些小棍,通过移动来进行计算,从此出现了“运筹”这个词,运筹就是计算,后来才派生出“筹”的词义 。中国古代科学家祖冲之最先算出了圆周率小数点后的第6位,使用的工具正是算筹,这个结果即使用笔算也很不容易求得 。
计算机简史:从结绳计数到计算机

文章插图
 
欧洲人发明的算筹与中国不尽相同,他们的算筹是根据“格子乘法”的原理制成 。例如要计算1248×456,可以先画一个矩形,然后把它分成3×2个小格子,在小格子边依次写下乘数、被乘数的各位数字,再用对角线把小格子一分为二,分别记录上述各位数字相应乘积的十位数与个位数 。把这些乘积由右到左,沿斜线方向相加,最后就得到乘积 。
计算机简史:从结绳计数到计算机

文章插图
 
1617年,英国数学家纳皮尔把格子乘法表中可能出现的结果,印刻在一些狭长条的算筹上,利用算筹的摆放来进行乘、除或其他运算 。纳皮尔算筹在很长一段时间里,是欧洲人主要的计算工具 。
计算机简史:从结绳计数到计算机

文章插图
 
计算机简史:从结绳计数到计算机

文章插图
 
算筹在使用中,一旦遇到复杂运算常弄得繁杂混乱,让人感到不便,于是中国人又发明了一种新式的“计算机” 。
著名作家谢尔顿在他的小说《假如明天来临》里讲过一个故事:骗子杰夫向经销商兜售一种袖珍计算机,说它“价格低廉,绝无故障,节约能源,十年中无需任何保养” 。当商人打开包装盒一看,这台“计算机”原来是一把来自中国的算盘 。世界文明的四大发明源地——黄河流域、印度河流域、尼罗河流域和幼发拉底河流域——先后都出现过不同形式的算盘,只有中国的珠算盘一直沿用至今 。
计算机简史:从结绳计数到计算机

文章插图
 
计算机简史:从结绳计数到计算机

文章插图
 
珠算盘最早可能萌芽于汉代,定型于南北朝 。它利用进位制记数,通过拨动算珠进行运算:上珠每珠当五,下珠每珠当一,每一档可当作一个数位 。打算盘必须记住一套口诀,口诀相当于算盘的“软件” 。算盘本身还可以存储数字,使用起来的确很方便,它帮助中国古代数学家取得了不少重大的科技成果,在人类计算工具史上具有重要的地位 。
一口君认为算法非常类似于计算机内部的累加器+暂存器,口诀则类似于现代计算机的汇编指令中的算术运算指令(add、sub)+数据存储指令(ldr、str)


推荐阅读