计算机的故事-起源
1+1 = 2,2+2 = 4,11+11 =?
哎呀,手指头数不过来了,加上脚指头也不够了,怎么办。
说起计算机,现代的计算机功能已经可以上网,可以看视频,可以玩游戏等等。特别是2021年2月8日,中科院量子信息重点实验室的科技成果转化平台合肥本源量子科技公司,发布具有自主知识产权的量子计算机操作系统“本源司南”,使得它的能力已经达到了人类自发明计算机以来的一个新的高度。
计算 是汉语词语。有“核算数目,根据已 知量算出未知量的意思。
《史记·平准书》:“於是以东郭咸阳、孔仅为大农丞,领盐铁事;桑弘羊以计算用事,侍中。”
施耐庵《水浒传》第三九回:“便唤酒保计筭,取些银子筭还,多的都赏了酒保。”
柳青《铜墙铁壁》第十四章:“群众比头一天慌张,要求不要过秤,拿口袋计算,只记下名字就行了。”
计算的英文Calculation,字源来自古希腊语:Κ?χληκα,意为碎石,用来计算数目用的小石头,它译为拉丁语:Calculus,之后成为英语:Calculation。在英文中,还有另一个字Computation,也被译为计算。这两个字在中古时代被分开。
可见作为汉语词汇的计算更能表示计算本身的含义,就是从根据已知量算出未知量。古人从事生产生活的方方面面都需要计算,都需要知道结果。
中国古代有“掐指一算”之说,欧洲直到 15世纪还盛行着。现在有些地方的人还用手指来进行简单的计算,可见手指长期以来被用作计算工具。
在我国古代的甲骨文中,数学的“数”,它的右边表示一只右手,左边则是一根打了许多绳结的木棍:――“数”者,图结绳而记之也。所以,数学研究所的门口,最好用木棍打几个绳结作标“记”,连招牌都不用挂了。
古印加人把结绳记事叫做奇普(Quipu或khipu),是用棉线、骆驼或羊驼毛线制成的。它是在一根主绳上串着上千根副绳组成。主绳通常直径为0.5-0.7厘米,上面系着很多细一些的副绳,一般都超过100条,有时甚至多达2000条。每根副绳上都结有一串令人眼花缭乱的绳结,副绳上又挂着第二层或第三层更多的绳索,编织形式类似古代中国人用于防雨的蓑衣。在目前所发现的700个左右奇谱中,大多数都是公元前1400年到1500年间打的结。不过,其中还有一部分只有1000年左右的历史。
在古埃及,结绳计数还被用于制造直角。古埃及人在绳子上打13个结。得到12条线段。使得每段线段长度相等。利用勾股定理(勾三股四弦五)制造出一个直角。据说这个办法被利用于建筑。即两直角边平方和等于斜边的平方和。
和结绳几乎同时或者稍后的一种记数方法,要算是书契了。书契,就是刻、划,在竹、木、龟甲或者骨头、泥版上留下刻痕,留下“记”号。《释名》一书中说:“契,刻也,刻识其数也。”意思是在某种物件上刻划一些符号,以记数。
我们国家1974年在青海乐都县发掘的原始社会末期的墓葬中,发现了49枚骨片,大小形状都差不多,是与小孩的小手指差不多大小,但很薄的一个长方形。在骨片的中部两侧有刻口,有的带3个刻口,有的带5个刻口,不少是带一个刻口的。如果一个刻口代表一个数的话,那么这40多枚骨片大约可表达从一到五六十间的任何一个自然数。当然,这些小骨片也可用来计算。十分有趣的是,公元1937年,人们在维斯托尼斯发现了一根四十万年前的骨头,是狼崽子的小腿骨,七?长,上面有55道深痕。这是到2013年为止,最早的刻痕记数的历史见证。
最早于春秋时代出现,筹算法就是使用算筹进行数值运算。一根小木条表示1,4以下的数字是用木条的数目表示,而到了5,则将木条摆放的方向旋转90度,从而又用一根木条表示了5。算筹还有位数之分。表示1
、2、3等,只要竖着摆上相应的木条数即可;而到了6、7、8等,则是将一根本条转90度(即横过来)表示5,再加上下方竖摆着的1、2、3根木条来表示即成。到了十位,则是用横摆的1、2、3根木条来表示10、20、30等;而到了60、70、80等,则要先将一根转动90度(即竖起来)表示50,再加上下方横摆的1、2、3根木条来表示。这样,即使是很大的数目,也可以通过在不同位数上摆放不同数目、不同方向的木条来表示,并且可以精确到小数点以后若干位。
筹算法的出现,表示人类的算术水平已经达到了相当高的程度。算筹最早出现于春秋时代,直到明代才完全为珠算所代替。
算盘( abacus)是一种手动操作计算辅助工具形式。它起源于中国,迄今已有2600多年的历史,是由早在春秋时期便已普通使用的筹算逐渐演变而来的,是中国古代的一项重要发明。在阿拉伯数字出现前,算盘是世界广为使用的计算工具。算盘一词并不专指中国算盘。从现有文献资料来看,许多文明古国都有过各自的与算盘类似的计算工具。古今中外的各式算盘大致可以分为三类:沙盘类,算板类,穿珠算盘类。
沙盘是在桌面、石板等平板上,铺上细沙,人们用木棍等在细沙上写字、画图和计算。后来逐渐不铺沙子,而是在板上刻上若干平行的线纹,上面放置小石子(称为“算子”)来记数和计算,这就是算板。19世纪中叶在希腊萨拉米斯发现的一块1米多长的大理石算板,就是古希腊算板,现存在雅典博物馆中。算板一直是欧洲中世纪的重要计算工具,不过形式上差异很大,线纹有直有横,算子有圆有扁,有时又造成圆锥形(类似跳棋子),上面还标有数码。穿珠算盘指中国算盘、日本算盘和俄罗斯算盘。日本算盘叫“十露盘”,和中国算盘不同的地方是算珠的纵截面不是扁圆形而是菱形,尺寸较小而档数较多。俄罗斯算盘有若干弧形木条,横镶在木框内,每条穿着10颗算珠。在世界各种古算盘中,中国的算盘是最先进的珠算工具。
我国古代的《数术记遗》,是东汉徐岳撰,北周汉中郡守(此前曾任司隶)甄鸾注。唐朝列为明算科考试必读课本。上面记载了12种古算器:
1、太一算 :太一之行,来去九道。木板上横刻九道,竖柱上安放一颗珠,数由下到上。
2、两仪算 :木板上横刻五道,竖道上安放两颗珠,上珠青色,下珠黄色。青珠至上而下,依次为5,6,7,8,9;黄珠由下而上,依次为1,2,3,4。
3、三才算 :木板上横刻三道,竖为算位。上刻为天,中刻为地,下刻为人。用三颗珠子,天珠子青色,地珠子黄色,人珠白色。天珠在天为9,在地为6,在人为3。地珠在天为8,在地我5,在人为2。人珠在天为7,在地为4,在人为1。
4、五行算 :以生兼生,生变无穷。北周甄鸾注:“五行之法:水玄生数一,火赤生数二,木青生数三,金白生数四,土黄生数五。今为五行算,色别九枚,以五行色数相配,为算之位。假令九亿八千七百六十五万四千三百二十一者,则以白算配黄为九亿,以青算配黄为八千,以赤算配黄为七百,以玄算配黄算为六十,以一黄算为五万,以一百算为四千,以一青算为三百,以一赤算为二十,以一玄算为一。”
5、八卦算 :针刺八方,位阙从天。”北周甄鸾注:“为算之法,位用一针锋所指以定算位。数一从离起,指正南离为一,西南坤为二,正西兑为三,西北干为四,正北坎为五,东北艮为六,正东震为七,东南巽为八。至九位阙,即在中央,竖而指天。”
6、九宫算 :即二四为肩,六八为足,左三右七,戴九、履一,五居中央。五行参数者,设位之法依五行”。
7、运筹算 :此法位别须算筹一枚,各长五寸。至一筹上各为五刻,上头一刻近一头刻之,其下四刻迭相去一寸,令去下头亦一寸,入手取四指三问间,有三节初食指上节间为一位,第二节间为十位,第三节间为百位,至中指上节间为千位,中节间为万位,下节间为十万位,无名指上节间为百万位,中为千万位,下为亿也。他皆效此。至算刻近头者一刻主五。其远头者一刻之别从下而起主一、主二、主三、主四若一、二、三、四头则向下于掌中。中若具五则回取上头向掌中,故曰小往大来也。回游于手掌之间,故曰运于指掌也。
8、了知算 :了算之法,一位为一了. 字。其了有三曲,其下股之末,内主一,外主九。下次第一曲,内主二,外主八。其第二曲,内主三,外主七;其第三曲,内主四,外主六。当了之之首独主五。
9、成数算 :算之法位别须五色算一枚其一算之象头各以黄色为本以生数也余色为首其五行各配土为成数也水玄生数一成六火赤生数二成数七木青生数三成数八金白生数四成数九若以首向东及南为生数向西及北为成数假令有九亿八千七百六十五万四千三百二十一者以白算首向北为九亿以青算首向西为八千以赤算首向北为七百以玄算首向西为六十以黄算一枚竖为五万以白算首向东为二十以玄算首向南为一也故首向东向南为生数向西向北为成数故云春夏生养秋收冬成也。
10、把头算 :把头之法,别须算二枚,一漫一齿。齿者一面刻为一,其一面为二,一面为三,其一面为四也。漫者为把头,即当五算。生齿者为把头,一目当一算,故曰“以身当五目视四方也”。
11、龟算 :为算之法,位别以龟,之四面为十二时,以龟首指寅为一,指卯为二,指辰为三,指巳为四,指午为五,指未为六,指酉为八,指戌为九,指亥为十。龟头指亥、子、丑不以为数。故云遇冬则停也。
12、珠算 :控带四时,经纬三才。刻板为三分,其上下二分以停游珠,中间一分以定算位,位各五珠,上一珠与下四珠色别,其上别色之珠当五,其下四珠珠各当一。至下四珠所领,故云“控带四时”。其珠游于三方之中,故云“经纬三才也”。
可见我国古人算器之丰富。
在西元前150到100年诞生了现今所知的最古老的复杂科学计算机安提基特拉机械
该机器内含多个齿轮,有时被认为是世界上第一个模拟计算机,其结构的完整,说明在希腊化时代可能还有些更老的类似仪器尚未被发现 。该机械可能是依照古希腊天文学家发展的天文学和数学理论制造,其年代大约是西元前150到100年之间。
到了1642年,年仅19岁的法国伟大科学家帕斯卡(Pascaline)发明了第一部机械式计算器,在他的计算器中有一些互相联锁的齿轮,一个转过十位的齿轮会使另一个齿轮转过一位,人们可以像拨电话号码盘那样,把数字拨进去,计算结果就会出现在另一个窗口中,但是只能做加减计算。
戈特弗里德·威廉·冯·莱布尼茨在1673年改进帕斯卡计算器使之成为手摇演算机。1694又改进成为乘法器,它不仅可以计算加减法,还可以计算乘除法,而乘除法的计算也是许多加减法的累计,举个例子:用17除5,只要减5,再减5,再减5,当不能再减的时候,就得到:17=2x5+2。
当然,上面的这个操作是莱布尼茨乘法器自动实现的,所以它也是第一台可以做加减乘除四种计算的机器。
1822年Charles Babbage提出了一种称为差分机的新型机械装置,一个可以近似多项式的更加复杂的机器,多项式描述了几个变量之间的关系,例如射程和大气压力,也可以用于近似对数和三角函数,这些函数用手计算是很麻烦的。
1823年Charles Babbage开始制作差分机,经过20多年的努力后,差分机的制作很遗憾宣告失败。
在Charles Babbage制造差分机期间,还想象了一个更复杂的机器——分析机,它与差分机、莱布尼茨乘法器和其他以前的计算设备都不一样,它可以做很多事情,不限于计算,还可以按照顺序给出数据并进行操作,可以保存之前的数据和打印,同样,这台分析机也没有制造出来。
但是这种可以通过一系列操作自动引导自身的概念却是跨越时代的,这也预示着计算机程序的产生,后来计算机科学家们将许多Charles Babbage的想法纳入他们的机器,这也是为什么Charles Babbage会被称为“计算之父”的原因。
1911年,美国加利福尼亚州奥克兰市的Marchant Calculation Machine Company公司推出了第一批计算器,它们是针轮旋转式的。Marchant在后来的键盘类型中投入了大量的开发工作,最终形成了非常快的电动版本,能够自动推导平方根。