画上三阴一阳的爻线。
无论是addition还是加,都只是人类方便自己记忆的“备注”
在机器里面实际上都是在干“关关关开”的活儿。
要控制计算机,就要直接去控制四个开关,组成“关关关开”的效果。
最后计算机算完的数据,也用纸带上对应位置的空洞顺序,来表示一串的开和关。
人类再把这些有规律的开关,翻译城人类能够理解的语言。
最早期的计算机,是与人类语言完全没有关系的,就看使用者怎么去命名和解读。。
但是这样实在太麻烦了。
如果能让计算机直接识别人类语言就好了。
关键是,为什么是我这个人类,把自己的话翻译成你这个机器的语言。
为什么不能是我说我们人类的语言,然后你这个机器自己去翻译成你们机器能理解的语言?
机器当然不知道怎么干。
于是人类给决定给机器做个翻译器,或者说转换器。
在翻译器上输入人类语言,翻译器给机器翻译成机器语言,再让机器去执行计算。
计算机算完之后输出,再让翻译器翻译成人类语言。
这个想法是非常好的,这其实也是所有程序语言的基本逻辑。
程序语言的最终目的,就是实现人类直接说法,让机器完全理解并完美执行。
只可惜啊,别说完全听懂人话并完美执行了,单纯的让机器直接执行最基本的命令,都让最早的研究人员们费老劲了。
翻译器怎么才能把addition翻译成一连串的开关呢?
怎么让机器知道“加”是什么意思呢?
看上去,好像只要做一个表格,左边一列写addition或者加,右边写“关关关开”。
告诉机器,我输入addition或者加,你就去给我执行“关关关开”。
然而更进一步的问题是,怎么“输入”addition或者加。
输入法这个东西,在后世看来很常见的东西,在早期电脑上绝对是黑科技。
就算是看上去能够按键直出的英文字母,也要去干一个物理按键绑定字母表的活儿。,
否则机器不知道a是啥,c又是啥,根本没有b数。
所以要再做一个表格,把一个开关序列绑定a,一个开关序列绑定b,一个开关序列绑定c……二十六个字母和标点符号数字都做好。
再再做一个表格,把这些开关序列绑定键盘上的按键,并在按键上写上a、b、c……
我依次按下写着addition这几字母的按键,计算机收到按键对应的信号去查表。
找到了关关开关、关关开开、关关关关……等一连串的开关命令。
如果是英文系统,这时候就在屏幕上依次显示addition几个字母。
同时,这关关开关、关关开开、关关关关……这一连串命令,按照顺序组合起来,就对应另一个命令“关关关开”。
如果是汉字系统,这时候在屏幕上显示“加”。
最后,计算机去执行最后的“关关关开“命令。
输入英文是一个相同表格有几个字母循环查几遍,汉字是设计两到四层嵌套的表格逐次查一遍。
做到这些就已经非常困难了。
甚至于,对早期计算机性能都有了一定的要求……
最早的计算机字节长度是四位的。
一个二进制位可以记录两个编号,字节长度为四的话,最多可以记录二的四次方,也就是总共十六个编号。
这甚至不能容纳所有的英文字母。
要记录所有字母,至少要把字节长度增加到五,这样编码容量增加到了三十二。
可以容纳所有的字母,再加上几个常用的符号。
但是还不能同时单独输入数字,用纯英文单词去拼数字就太恶心了。
于是又把字节长度增加到六位,编码容量增加到了六十四。
这就能够容纳字母、数字、常见符号了。
所以六位的计算机,甚至于在计算机出现之前,就在打孔卡上用了很久了。
但是六位的情况下,字母只能有大写或者小写一种。
汇编语言也全部都是大写字母。
如果用来输出文字的话,全篇大写字母看着也是很头疼。
所以就继续增加到七位数。
这样就有了总共一百二十八个的编码容量,对于英语而言基本圆满了。
能表达所有大小写字母、主要符号、十个数字。
以及换行、回车、删除等常用的输入控制命令。
美利坚制定的ASCII标准就是七位编码。