|计算器要怎么进化成计算机?

|计算器要怎么进化成计算机?

文章图片

|计算器要怎么进化成计算机?

文章图片

|计算器要怎么进化成计算机?

文章图片

|计算器要怎么进化成计算机?

文章图片



2021年 , 7月13日 , 国内最大的视频网站bilibili发生了一次崩盘事件 , 五分钟之内 , “B站崩了”的消息直接冲上了热搜 。 前段时间 , bilibili发布了有关复盘的文章 , 文中详细的描述了B站崩了的原因已经过程 。 简单来说 , 一个诡计多端的0 , 让B站崩了 。

关于这个诡计多端的0 , 已经有很多大牛讲述了他的逻辑原理 , 今天我们就来来看看这些代码的过往 。 代码 , 始终与计算机勾连在一起 , 密不可分、息息相关 。 要想梳理代码的历史 , 还需要从计算机的发展讲起 。
计算机的原型是计算器 , 而计算器最早可以追溯到我国古代的算盘 。 算盘距今至少2600年的历史 , 在阿拉伯数字发明以前 , 算盘是最重要的计算工具 。

在西方 , 在出现机械计算器之前 , 任何计算全凭人的能力进行计算 。 而算盘直到16世纪左右就传入了欧洲 , 只可惜西方人并不会使用算盘 , 因此也没在西方掀起任何波澜 。
文艺复兴后 , 人们的思想开始解脱 , 计算器也开始高速发展 。 欧洲最早的计算器来源于苏格兰人约翰·纳皮尔 , 他发明了一种可以进行四则运算和方根运算的精巧装置 。 此后 , 各种各样的计算器被发明出来 , 计算能力和范围也逐渐扩大 。

第二次工业革命期间 , 由于科学的快速增长 , 庞大的计算量常常拖累科学研究的进度 。
1834年 , 英国科学家巴贝奇设想制造一台通用分析机 , 在只读存储器(穿孔卡片)中存储程序和数据。
1840 年将操作位数提高到了40 位 , 并基本实现了控制中心(CPU)和存储程序的设想 , 而且程序可以根据条件进行跳转 , 能在几秒内做出一般的加法 , 几分钟内做出乘、除法 。 这一构想是现代计算机的核心思想 , 同时 , 奠定了未来计算机的发展趋势 。
1848 年:英国数学家莱布尼兹创立二进制代数学 , 提前近一个世纪为现代二进制计算机的发展铺平了道路 。 但在19世纪 , 大多数的机械计算机仍然使用的是十进制的计数方式;相比起十进制 , 二进制的计数方式更加符合计算机的工作原理 。

二进制由0和1组成 , 正好可以对应计算机中电路连通与闭合的两种状态 。 1个开关可以用0或1来表示其状态 , 如果有许多开关 , 就可以表示为许多个0或1 , 你可以想象这里排列着许多开关 , 各个开关分别表示2进制中的各个位 。 这样一来 , 只要增加开关的个数 , 不管是多大的数字都能表示出来 。 因此 , 虽然从主观上觉得 , 十进制的计数方式能更好的表达数据 。 但计算机的计算速度很快 , 即使二进制的位数远远多于十进制 , 位数多并不影响其计算精度和速度 。
简单来说 , 对于计算机而言 , 处理的数字种类少、 计算规则简单就最好的 。 因此 , 二进制显然优于十进制 。
1890 年:美国人口普查部门希望能得到一台机器帮助提高普查效率 。 托马斯·沃森借鉴巴贝奇的发明 , 用穿孔卡片存储数据 , 并设计了机器 。 结果仅用6 周就得出了准确的人口统计数据 。 沃森将这种机器量产化 , 并创办了公司 , 这家公司便是今天IBM公司的前身 。