{二进制 0000 000 十进制 0 十六进制 00}表示空字符 null
二进制文件是按二进制的编码方式的 来存放文件(流式文件)
hello.c程序是以字节序列的方式存储在文件中。每个字节都有一个整数值。
像Hello.c这样只由ASCII 字符串构成的文件称为文本文件,所有其他的文件都称为二进制文件
以文件编码的方式看:文件可以分为 AscII文件(文本文件)和二进制文件
文本文件在磁盘中存放每个字符对应一个字节,用于存放对应的ASCII码。
文本文件是基于字符编码文件常见的编码有ASCII编码 Unicode编码。
二进制文件是基于值编码的文件。
当然文本文件的最终存储也是二进制文件。
文本文件打开是明文的。二进制文件打开是乱码的。当然如果解码方式不同的话也会照成解码的乱码。
hello.c的表示方式说明了一个基本思想:系统中所有的信息-包括磁盘中的文件、内存中的程序、内存中存放的用户数据、
以及网络上传送的数据,都是由一串比特表示的。
用以区分不同数据对象的唯一方式是我们读到这些数据对象时的上下文。比如。在不同的上下文中,一个同样的字节序列可能表示一个整数、浮点数、字符串、或者机器指令。
机器语言:机器语言是一种指令集体系。这种指令集称为机器码,机器码是电脑的cpu可以直接 解读的数据,机器码有时也称为原生码。
我们电脑上的文本工具打开一个文件的过程是怎样的呢?
①:读取文件物理上所对应 的二进制比特流
②:按照你所选择的解码方式来解释这个流
③:解释结果显示出来
业务逻辑: 处理数据的逻辑
越接近底层的的编程语言执行效率越高,
高级语言:实现效率高,执行效率低,对硬件的可控性弱,目标代码大,可维护性好,可移植性好
低级语言:实现效率低,执行效率高,对硬件的可控性强,目标代码小,可维护性差,可移植性差
CPU运行的是二进制指令,所有的语言编写的程序最终都要翻译成二进制代码
语言发展大致流程:机器码(二进制0,1)->汇编语言->c->c++->c#/java等(从低级语言到高级语言)
机器码就是计算机可以直接执行并且执行速度最快的代码。
计算机的硬盘上存储的文件都是以二进制存储的。
汇编语言、指令、机器码三者的区别:
简单说就是同一操作的三种不同表示方法
机器码是0和1组成的二进制序列,可读性极差
指令就是把特定的0和1序列,简化成对应的指令(一般为英文简写,如mov,inc等),可读性稍好
汇编语言包括指令和伪指令。伪指令是为了编程方便,对部分指令做的封装。
参考地址:https://blog.csdn.net/xiaofei0859/article/details/50560903