编程语言要用到英语?
大致的思路就是:编程语言转化为二进制机器码,再把二进制机器码转化为高低电平输入给芯片电路。这个问题是计算机原理的问题,编程语言如何被硬件芯片执行?我们很多时候,听过计算机只认识“0”和“1”,除了0和1之外的信息,又是如何被计算机理解执行的呢?聊到这我想到了《易经》“无极生太极,太极生两仪”,“一生二、二生三,三生万物”。挺有意思,0和1可以表示整个世界,和几千年前我们中国哲学思想完全吻合。
如何做到呢?
1、编译。编译器把高级程序语言(英语)编译为二进制可执行文件,存储到硬盘上。
2、加载。操作系统通过相应的机制,把二进制加载到内存中。
3、运行。CPU执行指令。
好像说的和电路还是没有什么关系呀?是的,我们没有讲明白这一点。“0”和“1”如何变成高低电平?
“0”和“1”如何变成高低电平?
我们回到打孔机时代,你的01010代码,需要专职的程序录入员将0和1用打孔和不打孔的方法,转换为纸条上的一串孔洞。然后有孔的程序纸通过光照区,有孔无孔转换为光点和暗点,再通过光敏元件,转化为高低电平。以后机器中就再也不会出现0和1,只有高低电平了。
可以说,录入员之前是一个世界,高级语言也好,汇编语言也好,机器代码也好,都是0101的二进制数字世界;光敏传感器之后,都是高低电平的世界。录入员+光电检测完成了这种转换。
现在的计算机,和打孔机时代的区别,只不过是输入变成键盘了,按键接通和断开代替了光线的有和无,在每个键下面的识别电路以后,就完全是高低电平的时代了,010已经不存在了啊。01在哪里?在我们的头脑中,在程序纸上,在键盘表面,在显示器上,就是不在键盘以下的空间中。
结论:高级程序语言经过编译器的翻译,变成二进制的机器语言,机器语言再通过按键的变量输入变成高低电平信号,这样就被芯片设别了。
Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有