目录
主要讲解了C语言中的数据类型以及运算符。其中包括进制、基本数据类型、类型转换、运算符与表达式等。通过本章的学习,读者可以掌握C语言中数据类型及其运算的一些相关知识。熟练掌握本章的内容,可以为后面的学习打下坚实的基础。
一、进制
1.1 二进制
在大多数计算机系统中,数据都是通过二进制的形式存在的。二进制是一种“逢二进一”的机制,它用0和1两个符号来描述。为了帮助大家更好地理解二进制,接下来通过二进制和十进制的对比来描述二进制的表示方式
十进制 |
二进制 |
十进制 |
二进制 |
0 |
0000 |
5 |
0101 |
1 |
0001 |
6 |
0110 |
2 |
0010 |
7 |
0111 |
3 |
0011 |
8 |
1000 |
4 |
0100 |
9 |
1001 |
1.2 八进制
八进制是一种“逢八进一”的进制,它由0~7八个符号来描述。同样地,此处通过十进制和八进制的对比来描述八进制的表示方式
十进制 |
八进制 |
十进制 |
八进制 |
0 |
0 |
9 |
11 |
1 |
1 |
10 |
12 |
2 |
2 |
11 |
13 |
3 |
3 |
12 |
14 |
4 |
4 |
13 |
15 |
5 |
5 |
14 |
16 |
6 |
6 |
15 |
17 |
7 |
7 |
16 |
20 |
8 |
10 |
17 |
21 |
1.3 十六进制
十六进制是一种“逢十六进一”的进制,它由0~9、A~F十六个符号来描述。下面通过十进制和十六进制的对比来描述十六进制的表示方式,
十进制 |
十六进制 |
十进制 |
十六进制 |
0 |
0 |
17 |
11 |
1 |
1 |
18 |
12 |
2 |
2 |
19 |
13 |
3 |
3 |
20 |
14 |
4 |
4 |
21 |
15 |
5 |
5 |
22 |
16 |
6 |
6 |
23 |
17 |
7 |
7 |
24 |
18 |
8 |
8 |
25 |
19 |
9 |
9 |
26 |
1A |
10 |
A |
27 |
1B |
11 |
B |
28 |
1C |
12 |
C |
29 |
1D |
13 |
D |
30 |
1E |
14 |
E |
31 |
1F |
15 |
F |
32 |
20 |
16 |
10 |
33 |
21 |
1.4 进制转换
1.4.1十进制转换为二进制
十进制转换成二进制可以采用除2取余的方式。 即将要转换的数先除以2,得到商和余数, 将商继续除以2,获得商和余数, 此过程一直重复直到商为0。 最后将所有得到的余数倒序排列, 即可得到转换结果。
1.4.2 二进制转换为十进制
二进制转化成十进制要从右到左用二进制位上的每个数去乘以2的相应次方,例如,将最右边第一位的数乘以2的0次方,第二位的数乘以2的1次方,第n位的数乘以2的n-1次方,然后把所有乘的结果相加,得到的结果就是转换后的十进制。 例如,把一个二进制数0110 0100转换为10进制,转换方式如下:
0 * 20 + 0 * 21 + 1 * 22 + 0 * 23 + 0 * 24 + 1 * 25 + 1 * 26+ 0 * 27 = 100
1.4.3 八进制与二进制之间的转换
八进制与二进制之间的转换比较常见的操作就是将一个二进制数转为八进制。在转换的过程中有一个技巧,就是将二进制数自右向左每三位分成一段(若不足三位,用0补齐),然后将二进制每段的三位转为八进制的一位