的功能是一样的,而且可以正常工作,顺利将CW等幅报发送出去。对LUS来说,最重要的并不是这个程序的功能,而是编写这个程序的语言。
在此之前,他一直以为计算机编程就是BASIC编程,以为计算机里面有且只有BASIC一种编程语言。对于计算机底层到底如何工作,他并没有一个非常清晰的理解。
而这小程序向他打开了计算机底层原理的大门。
那个火腿朋友不但将编译好的程序给了他,与之附带的还有这个小程序的源代码。
LUS惊讶地发现,这个程序并不是由BASIC语言编写的,而是一些奇怪的数字,刚开始的时候他一点儿也看不懂,但这并没有影响他对其进行深入研究的兴趣。后来他才知道,原来这些数字是一种十六进制的被称为“机器码”的语言。这些数字,按照固定的换算关系,可以很容易地将其转换为仅仅由“0”和“1”组成的数字串。
而“0”和“1”才是计算机中最本质的原理所在。
BASIC语言只是建立在“机器码”之上的一种高级语言,之所以发明出来,是为了让程序员能够更好的记忆,降低编程的难度。
这个道理,就如同那些成语典故一样,虽然只有短短的几个字,却可能包含着一大段的内容。程序员之前早就学过这些“典故”,所以他们编写程序的时候,就如同在写文章,随心所欲地使用着这些成语典故。但是计算机却比较“笨”,他无法直接理解这些典故,必须通过“编译器”这种工具翻译一下,将成语典故解释为一大段比较浅显易懂的文字,这样它才能理解。
程序员甚至不用关心这些典故的详细内容,如典故发生的时间地点和涉及到的具体人物,他们只需要大概知道这个典故可以在什么时候使用就行了。反正还有“编译器”这个翻译人员在,他最终会将具体的细节和计算机说清楚的。
这样的好处是显而易见的,程序员可以节省大量的时间和精力,通过使用“典故”,可以很迅速地就可以编写出字所需要的程序。
不过,这也有很大的弊端。因为如果程序员不了解这些“典故”的来龙去脉的话,就无法做一些比较细致的东西。就如同LUS之前那样,他只学过BASIC,而并不知道BASIC最终到底会被翻译成什么样的机器码,不了解其中数据传输的细节,所以也就无法编写出这个程序。
这实际上是BASIC的限制所导致的,它本身的设计缺陷导致了它无法操作这些底层的东西。
而通过这个小程序,LUS知道了原来在BASIC语言下面,还存在一种被称之为“机器码”的东西,而在机器码的下面,更是有一种叫做“二进制码”的东西。
到了这个层面,这就完全是硬件方面的东西了。“0”表示一个开关的断开,而“1”则是表示开关的闭合。作为一个资深火腿,对这种简单的电路他最是熟悉不过。
他这个时候才发现,原来计算机就这么简单。
====
小强建了一个腾迅微.群,详细请访问【rockxie点com】查看,欢迎大家加入
C