靠的是数学思维,抽象,推理,建模!现实中并不存在,是靠人的智慧对自然的理解,抽象出数字,抽象出图形,电的理解和应用也靠数学,数字电路中也没有0和1,是把高低电平抽象成0和1
数字电路的世界只有“0”和“1”
在数字电路中是用二进制来执行指令和处理数据的,所以数字电路的世界只有“0”和“1”。当然,不同长度的“0”和“1”组合起来就可以得到不同的指令或者数据了。
处理器是怎么识别编程语言的?
其实处理器是不认识英文的编程语言的,它只认识“0”和“1”。但如果用“0”和“1”来编写程序,对于人类来说是非常困难的,效率也相当的低,可读性也非常差。于是聪明的人们发明了汇编语言。
比如:“MOV”代表数据传递;“ADD”代表加运算;“JMP”代表跳转等。当然这些用汇编语言编写的程序是不能被处理器直接识别的。需要通过编译器,把我们编写的程序“翻译”为处理器认识的二制进机器码。
编程语言为什么要用英语?
其实汇编语言只是一种符号语言,用于帮助程序员代替机器指令和操作码。不同的机器,不同的芯片都有着不同的机器语言和指令集,用汇编语言编写的程序难以在不同平台中移植。
随着科技的进步,电子产品的功能越来越强大,芯片的处理速度也越来越快,我们编写的程序也越来越复杂了。汇编语言这种低级的语言已经难以满足我们的编程需求,也令程序员大吐苦水。于是聪明的人们又发明了高级的编程语言,比如:C,C++,JAVA,Python,PHP,VB等等。高级语言可以对多条指令进行整合,使得编程更为简单,有着较强的操作性。比如用“if”进行判断,用"while"作为循环。
当然高级语言编写出来的程序一样需要翻译为二进制的机器码才可以被处理器识别和执行。
因为目前所有的编程语言都是由外国人发明的,所以基本上都使用了英文。以后中国人发明一种用汉语进行编程的语言也不是不可能的。
只能简单来说下啦:
数字可以用来表示“万物”,计算机采用二进制来表示“万物”
二进制相对十进制的0-9个符号
二进制只有0和1两个符号,逢二进位
例如:
十进制 二进制
1 b01
2 b10
3 b11
4 b100
5 b101
0和1,对数字电路中,使用高低电平来模拟
表达信息,使用多位0和1来实现,例如8位0和1
那么就会有8个0和1
在电路中,你可以想象就会有8根“通讯线”,这不同的线的高低电平就可以用来表示0或1。
在编程中
你编写的、看到的是“源代码”
源代码会经过“编译器”进行编译链接
最终变成二进制(十六进制)表示的机器码
即机器指令
为了让人类更好与计算机进行沟通
CPU设计中包含了“指令集”的设计
这些指令集包括,逻辑,算术,流程分支,IO等等
程序执行时会加载到RAM(内存)
CPU通过“总线”与内存通讯
获取一条一条的“指令”
并对指令进行解码
然后通过CU(CPU中的控制器)开始执行指令
协调LRU(算术逻辑运算单元)进行计算
这个过程会涉及到控制外设的输入输出
就是你的键盘输入
显示器输出等等
大致如此