首页 > 武侠仙侠 > 斯坦福留洋水货?不!给我再电斯 > 第241章 仓颉第二版

第241章 仓颉第二版(2/2)

目录

这是上周弹道计算之后,整个计算机所定下的首要改进方向。

主要是弹道计算这个东西,天生就跟浮点运算绑在一起,弹道计算每发迭代二十多次,程序里一大半的代码都在进行浮点运算。

这种既要大范围、又要高精度的活,定点数根本扛不住。

所谓定点,就是小数点的位置固定死,比如规定小数点后面留三位,那0.001就是最小单位,再小就没法表示了。

而浮点,则是把一个数拆成尾数和指数两部分,比如3.14×102,尾数管精度,指数管范围,两边都不耽误。

仓颉这套编程语言,毕竟只是第一版,当初设计的时候,只做了定点数运算的宏。

浮点运算虽然硬件能做,但语言层面没有对应的指令,程序员写程序的时候,还是得自已手搓。

打个比方,硬件就像一个会算账的伙计,加减乘除都能干。可仓颉给这个伙计的“口令簿”里,只有整数的口令,没有小数的口令。

你要让他算3.14加2.71,就得先把3.14拆成314乘以10的负二次方,把2.71拆成271乘以10的负二次方,对齐指数,再加尾数,最后再规格化回去。

一套流程下来,光写代码就得十几行。

上周算弹道的时候,周明就是这么干的,不但写起来费劲,还容易出错。

现在要做的,就是在仓颉里加上浮点运算的宏,把对阶、尾数运算、规格化这些步骤,全部封装成一个宏。

这样他们再写程序的时候,弹道程序的代码量能砍掉一半以上,出错的概率也会大大降低,只要写一句“浮点加ABC”,编译器就会自动展开成那十几行的硬件指令。

周明现在写的,就是最后一个浮点除法的展开规则。

他的铅笔在纸上走走停停,时不时停下来,对着仓颉的指令表翻一翻。

······

机房的另一头,赵家骏正蹲在地上,对着一个刚焊好的小盒子傻乐。

他这种傻乐的状态已经持续了一周了,可见特等功对他的鼓舞。

那个盒子不大,大约只有巴掌宽,外壳是铁皮敲出来的,一头接着纸带盘,另一头连着机柜的输入接口。

这就是改进其二的:光电读孔机。

说起来它的原理并不复杂,纸带从一排光源和光电管中间穿过,有孔的地方,光透过去照在光电管上,就会输出一个电信号,而没孔的地方,光被挡住,就没有信号。

原理简单,做起来却有讲究。

最大的难点,是信噪比。

纸带哪怕没孔的地方,也会漫反射一点光过去,如果放大电路的增益调得不好,就会把这种微弱的漏光当成信号,读出来的字符自然便不准了。

还有纸带的速度也会有影响......

赵家骏就在这上面卡了三天。

最后还是林远给了一个三级放大加施密特整形的电路,才把问题解决的。

赵家骏安装完毕后,伸手按下了启动键开始自测。

纸带盘“哗啦”一声转动了起来,纸带从缝隙里匀速穿过。

机柜那头,打印机“嗒嗒”地响了,输出的是一行测试字符:ABCDEFG。

没有错码!

赵家骏随后又跑了三卷纸带,每卷一百个字符,仔细核对完确认无误后,基本可以确定光电读孔机没啥问题。

他这才站起身,拍了拍膝盖上的灰,冲机柜那头喊了一嗓子:“华教授,读孔这边搞定了!”

......

目录
返回顶部