机械计算机的出现
法国数学家和物理学家布莱士·帕斯卡(Blaise Pascal)在1642年发明了可以进行两位数加减法的机械计算器。其原理是通过齿轮的10个齿表示数字的0到9,当齿轮旋转一圈时,相邻的齿轮会前进一个齿,这样就完成了加法运算的进位,通过换算(补九码)也可以得到减法。
1671—1694年,德国数学家戈特弗里德·莱布尼茨(Gottfried Leibniz)设计完成了不同版本可进行四则运算的步进计算器。他还发现可以用0和1编码来进行四则运算,并预言这种二进制的运算规则将来可能会对机器非常有用。
莱布尼茨计算器
早期的机械计算器可以减少心算量,但能进行的计算比较简单,且数量稀少还价格昂贵。当时更为流行的方式是纸质计算表,例如三角函数和对数的计算表,其实就是根据使用条件去找计算好的答案。不过由于表格中的数都是固定数,还有一些错误,条件稍有变化就可能查不到结果。但是在多数场合计算表还是很实用的。
英国发明家查尔斯·巴贝奇(Charles Babbage)的创新可以称得上是从计算器到计算机的发展过程中里程碑式的突破了。他在1822年提出了差分机的概念,可以进行多项式函数的计算。他还立下了宏大理想,要把法国的《数学用表》重新验算一遍,合计17卷。但是他设计的差分机的精度要求超出了那个时代,所以历经10年只拿出一个半成品。
尽管制造差分机受挫,但巴贝奇于1834年又开始设想分析机,并尝试在分析机中使用二进制运算逻辑,这使分析机成为最接近现代计算机运算逻辑的机械计算机。后来,在他的工作基础上,英国数学家乔治·布尔提出了布尔代数,成为现代信息技术的重要理论基础。
巴贝奇还提出了很多超越时代的功能和创意。他设想通过输入数据让分析机来自动执行一系列的运算操作,如顺序、循环、控制等,同时让其拥有内存和打印等功能。这也为后来电子计算机的发明提供了许多灵感,因此他被誉为通用计算机之父。