万物有道理,小马告诉你。大家好,这里是小马百科。今天继续我们的计算机历史系列,这一篇讲的是古代人用来计算的工具 算筹。

智能边缘计算技术(从手指到太湖之光-计算机历史之运筹帷幄)(1)

所谓算筹,其实就是一堆小棍子,一般是木棍,也可以是其他材质,例如竹子象牙等。算筹最早起源于中国商代的占卜,占卜用小木棍做占卜过程中的计算,可以说是最早的算筹。

中国的算筹一般长度12厘米左右,直径2-4毫米,一般是圆形截面,也有三角形等。

汉朝:《汉书·律历志》记载

其算法用竹。直径一分,长六寸;二百七十一枚而成觚,为一握。

日本则一般使用小木片做计算,所以在日本一般被称为算木。

算筹在中国有悠久的历史,以至于汉字中 筹 策 算 都跟它有关。 “筹”字为形声字,竹表示材质,繁体寿即夀,表示长时间使用的意思。两者合起来,长时间使用的竹子,就算筹。 策 表示一束 算筹。 算 上面的竹字头也跟算筹有关。

智能边缘计算技术(从手指到太湖之光-计算机历史之运筹帷幄)(2)

而且,像我们日常生活中使用的成语 “运筹帷幄” “觥筹交错” “统筹兼顾” “一筹莫展”等,都跟算筹有关。

算筹如何表示数字

那么,在使用算筹计算的时候,要如何表示数字呢。 算筹表示数字时,正数有纵式横式两种表示方法,负数则为正数直式上面加一个斜的算筹。

用算筹表示0到9,-1到-9。如下图表示

智能边缘计算技术(从手指到太湖之光-计算机历史之运筹帷幄)(3)

算筹用来表示某个数字的时候,采用纵横交错的方式表示,从右向左,依次是纵横纵横,个位是纵式,十位是横式,百位纵式,千位横式,依次类推。之所以这样表示,也是为了方便表示0,因为算筹是竹棍,无法直接表示0,使用纵横交错的方式表示,规定位上的纵横是规定好的,读数的时候根据算筹的纵横,就可以大致判断这个是什么位。

智能边缘计算技术(从手指到太湖之光-计算机历史之运筹帷幄)(4)

例如下面这个图的算筹,个位是纵式1,十位是横式2,下一个是空位,暂时不确定是空缺还是百位,再下一个是横式2,那根据算筹纵横交错的规则,这个应该是千位。右侧的空位是百位,空位表示0。最终判断这个数字是2021。

智能边缘计算技术(从手指到太湖之光-计算机历史之运筹帷幄)(5)

不过大家有没有发现,这种表示方法有一个很大的问题,就是无法判断连续的0。例如数字200021,如果不摆到棋盘这种有固定的格子的地方,是无法表示到底是什么数字的。

智能边缘计算技术(从手指到太湖之光-计算机历史之运筹帷幄)(6)

所以后来人们才单独发明了数字0,用圆圈表示。

智能边缘计算技术(从手指到太湖之光-计算机历史之运筹帷幄)(7)

这个字不止是数字,也是一个汉字,也是汉字中唯一不是方块的汉字。

智能边缘计算技术(从手指到太湖之光-计算机历史之运筹帷幄)(8)

算筹的计算

使用算筹的计算,被称为 筹算。 使用筹算,可以进行常规的加减乘除,以及分数的加减乘除和最大公约数、开平方根等等复杂的运算。甚至可以解方程。

简单的加法运算。如下图表示的就是3512 849的过程。

智能边缘计算技术(从手指到太湖之光-计算机历史之运筹帷幄)(9)

南宋数学家秦九韶将贾宪的增乘开方术推广,以求解高次方程。下面这个图使用算筹计算高次方程的过程。

解答的方程为

智能边缘计算技术(从手指到太湖之光-计算机历史之运筹帷幄)(10)

解答过程如下

智能边缘计算技术(从手指到太湖之光-计算机历史之运筹帷幄)(11)

小结

算筹是古代很重要的计算工具,很多数学上的成就都是由算筹计算得来的。比如我们都很熟悉的祖冲之计算圆周率。

算筹本身只是一个表达数字的工具,真正计算的时候,需要配合算法来进行。而在这个过程中,其实我们就可以大致看到计算的几个要素,数字,表数工具以及算法。在之前的原始时代,手指计数,用手指表示数字;石头计数,用石头表示数字;算筹计算,用小木棍表示数字。这些工具再结合上各种算经包含的算法,才能够对某些数字进行计算。后续的整个计算工具的发展过程,这3个要素分别有不同的体现,这个会在后续文档中继续描述。

回到算筹本身,算筹本身也有一些问题,比如表示数字复杂。而且算筹需要铺到地上计算,当计算复杂的时候,需要较大的空地才能够进行,这个也不是随时能够满足的条件。所以在算筹之后,人们发明了更加方便的算盘。

令人惊奇的安提凯希拉计算装置

除了上面的算筹之外,古希腊人曾经在公元前205年就制造了使用机械进行计算的装置,这就是传说中的安提凯希拉。

智能边缘计算技术(从手指到太湖之光-计算机历史之运筹帷幄)(12)

这是一个精密的计算装置,包含了37个齿轮和前后2个钟面。确切的说,这是一个机械日历,可以正常显示365的日期,计算过程中考虑闰年。另外还可以用这个装置计算 太阳 月亮的位置,甚至预测日食的出现。

,