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

文章介绍了如何使用VisualStudioCode,包括快捷键操作和文件保存。讨论了不同进制之间的转换,如二进制、八进制和十六进制,并提供了转换示例。此外,还解释了计算机中的非数值数据,特别是字符数据和ASCII编码。最后,概述了编译流程,包括预处理、编译、汇编和链接四个步骤。

一、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。

 
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码大魔王ㅤ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值