计算机中的数据类型以及编译流程

一、Visual Studio Code的使用

1、打开VS CODE的方式:

(1)在图形化界面可以直接打开

(2)在编译器中用code +路径

2、Ctrl +Shift+ L       自动对齐

3、Ctry +S      保存

二、数值数据(各进制之间的转换)

123=1*100+2*10+3*1

=1*10^2+2*10^1+3*10^0

八进制:0 1 2 3 4 5 6 7

每三位二进制可以表示一位八进制

二进制的: 111

八进制的: 7

一位八进制可以表示三位二进制

十六进制:0 1 2 3 4 5 6 7 8 9 A B C D E F 逢十六进一

每四位二进制数可以表示一位十六进制数

二进制的: 1111

十六进制:F

练习:

二进制0111 1110转换成八进制,十进制和十六进制.

八进制:176

十进制:126

十六进制:7E

0111 1110

八进制: 176

十六进制: 7E

十进制: 0+1*2^1+1*2^2+1*2^3+1*2^4+1*2^5+1*2^6+0*2^7=126

十进制的100转换成2进制:

100/2=50...0

50/2=25...0

25/2=12...1

12/2=6...0

6/2=3...0

3/2=1...1

1/2=0....1

1100100

三、非数值数据

计算机中数据的概念是广义的,机内除有前面提到的数值数据之外,还有文字、符号、图像、语言和逻辑信息等等,因为它们也都是以0、1形式存在,所以成为非数值数据

字符数据主要指数字、字母、通用符号、控制符号等等,在机器内都被变换成计算机能够识别的二进制编码形式。国际上被普遍采用的一种编码是美国国家信息交换标准代码,简称为ASCII

带引号的就是字符,比如'A', '1'

ASCII:American Standard Code for Information Interchange

“0”、’0’、0和'\0'的区别?

“0” 字符串0

'0' 字符0

0 数字0

'\0' 空字符

四、编译流程

预处理:gcc -E hello.c -o hello.i 得到预处理文件,其中,-E 表示只进行预编译。

源文件在预编译阶段会被编译器生成.i文件,主要处理源代码文件中以“#”开头的预编译指令。如:宏定义展开,将被包含的文件插入到该编译指令的位置等。

编译:gcc -S hello.i -o hello.s 得到汇编文件,其中,-S 表示生成汇编文件。

编译就是把预处理完的文件,进行语法分析、词法分析、语义分析及优化后生成相应的汇编代码文件,这个过程是整个程序构建的核心过程,也是最复杂的部分。

汇编:gcc -c hello.s -o hello.o,其中,-c 表示只编译不链接。 将汇编代码文件转变成机器可以执行的指令文件,即目标文件。也可以直接使用:gcc -c hello.c -o hello.o 经过预处理、编译、汇编直接输出目标文件

链接:-o output_filename,确定输出文件的名称为output_filename,同时这个名称不能和源文件同名。如果不给出这个选项,gcc就给出预设的可执行文件a.out。

 
 

猜你喜欢

转载自blog.csdn.net/qq_52049228/article/details/129878312