为什么计算机语言能对应程序,程序员编写的代码为什么可以控制计算机硬件工作?汇编语言和高级编程语言的由来...

计算机本质上是数字电路组成的计算机器,只有电信号才有可能驱动电路工作,那为什么程序员编写的代码可以控制计算机工作呢?代码只是一串字符而已。

b57f34b3d954b991058d73b8957e29d0.png

在回答这个问题前,先想一下,程序员编程时,是否要严格遵守某种编程语言的语法呢?答案是肯定的,每种高级语言,无论是C语言,还是java、python、php,都是有自己的关键字和语法结构的。这些关键字是设计编程语言时约定的,也就是说,程序员编写的代码是按照某种约定规则进行的。这就可以回答上面的问题了,假设一组数字电信号可以完成“蜂鸣”动作,既然它是数字信号,当然可以用数字表示它,下次程序员输入这组“数字”,就相当于输入了让计算机做“蜂鸣”动作的数字电信号,这就是机器码编程。

举个例子,假设有以下 5 盏灯。灯由开关控制着,只有开关两种状态。我们约定 1 表示开灯,0 表示关灯。那么,当电灯管理员得到“01000”这样一组数字时,他就知道了应该开第二盏灯,其他的关掉。

cbc15e6eb3f66e62c8ba8199f759c5a4.png

机器码编程是不方便的,程序员想要完成某种计算功能,往往需要从非常庞大的指令表查找到相应的数字功能码。因此,后来人们设计了很多助记符,用有意义的单词来表示机器指令,这就形成了汇编语言。

就像上面的例子中,我们约定用 set_light_2 来表示 01000,那么,下次我告诉电灯管理员:“set_light_2”,他就明白了应该怎样开关灯。

顺着这样的思路,更复杂的符号和结构被设计成有意义的单词,高级语言如C语言,C++语言出现了。所以,说代码控制计算机不是特别恰当,因为代码只是我们约定的与电信号对应的符号而已。事实上,计算机并不能直接执行代码,代码要首先翻译为计算机认识的机器码(即数字信号序列),这一过程就叫做编译。

cb8994890034bfe1bf8bda6a82a987b6.png

当然,现在还有一些脚本语言,比如 python,它是依赖解释器逐行执行的。不过归根结底,代码要首先翻译为计算机认识的机器码(即数字信号序列)。

喜欢 (2)or分享 (0)

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值