按 ‘ 机器语言 ’ 标签归档

程序员入伙书——编程语言

下载Python一章里,我说过请大家忽略“编程语言”和“Python”这些词的意思,因为那时这些词并不重要。

现在大家已经看到了一些使用Python的实例,我想是时候让大家了解关于编程语言的一些知识了。如果你懒得听我长篇大论,可以直接跳到文章结尾看总结。如果觉得我的扯淡还有点意思,请继续往下读。

我们说过,计算机不会自主思考,它所有的动作都是人们事先告诉它的。告诉计算机”遇到什么情况时该干什么“,就是编写程序,简称编程。既然要给机器发指令,它就得明白这些指令。

计算机本身能明白的、以及能操作的东西,只是一系列高低电平的组合,就像我们人类的身体只有一系列的化学反应和生物电一样。一个刚生下来的人只会吃、哭、拉、睡,却不知道怎么喊妈。你让他喊他也不会喊,因为他听不懂。在计算机世界里,我们把这种基础的电平称为“机器语言”,机器语言是在制造计算机芯片时固化在那块半导体里面的。

使用机器语言能编程么?能!你拍打婴儿的脚底板,痛觉末梢产生一些生物电,传送到大脑,他就开始嚎哭。“拍脚”是指令,“嚎哭”就是动作。较真的同学会说我这个比喻不恰当,因为“拍打脚底板”是婴儿大脑里运行的那个小程序的输入,“哭声”是程序的输出,无论“拍脚”还是“哭声”都不是程序本身。我首先感谢这位同学,提出这个质疑,说明你认真地看了前头的章节。其次,我解释说:判断这些行为究竟是输入输出还是程序本身,得看你怎样定义这个系统的范围。假如我在计算机芯片的一些管脚设置成事先想好的高、低电平,之后,在芯片的另外一些管脚上观测到了一次乘法的计算结果(同样是高、低电平来表示),我们既可以把设置的那些电平称为程序,也可以把它们称为输入数据。

跑题了,拽回来。刚才说到,计算机只能听懂高低电平组合成的机器语言。为了显得专业些,我们把高电平称为1,把低电平称为0。计算机里只有两个数字:0和1。我们眼前的计算机有许多花里胡哨的行为,能显示种种色彩,发出种种声音,那都是它组合各种0和1的结果。举个例子,一个橙色的像点至少包含24个电平,顺序是111111111000000000000000。一个灰色的像点则可能是100111011001110110011101。字母“A”在计算机里是01000001,而“#”在计算机里是00100011。
猛击阅读全文