C语言程序设计
主讲:杨斐
QQ:121459388
1
第二章数据描述
预备知识
C语言的各种数据类型
C语言各种运算符
2
预备知识
计算机中数的表示及进制转换
数码、基与权
数码:数制中表示基本数值大小的不同数字符号。例如,十进制有10个数码:0、1、2、3、4、5、6、7、8、9。
基数:数制所使用数码的个数。例如,二进制的基数为2;十进制的基数为10。
权::数制中某一位上的1所表示数值的大小(所处位置的价值)。例如,十进制的123,1的位权是100,2的位权是10,3的位权是1。
数制:数制也称计数制,是用一组固定的符号和统一的规则来表示数值的方法。人们通常采用的数制有十进制、二进制、八进制和十六进制。
<
>
语言程序设计
第二章数据描述
C
3
数制
基
权
表示
数码
特点
10º,10¹,10²,…
十进制数
0~9
10
逢十进一
二进制数
0~1
2
2º,2¹,2²,…
逢二进一
八进制数
0~7
8
8º,8¹,8²,…
逢八进一
十六进制数
0~9,A~F,a~f
16
16º,16¹,16²,…
逢十六进一
十进制:4956= 410³+910² +510¹+610º
二进制:1011=12³+02² +12¹+12º
十六进制:81AE=816³+116² +1016¹+1416º
八进制:4275=48³+28² +78¹+58º
语言程序设计
第二章数据描述
C
4
各种进制之间的转换
二进制、八进制、十六进制转换成十进制
方法:按权相加
<
>
语言程序设计
第二章数据描述
C
5
各种进制之间的转换(整数)
十进制转换成二进制、八进制、十六进制
原理:
方法:连续除以基,从低到高记录余数,直至商为0
例把十进制数59转换成二进制数
59
2
29
2
14
2
7
2
3
2
1
2
0
(59)10=(111011)2
1
1
0
1
1
1
1 1 1 0 1 1
余
余
余
余
余
余
例把十进制数159转换成八进制数
159
8
19
8
2
8
0
(159)10=(237)8
2 3 7
余 7
余 3
余 2
例把十进制数459转换成十六进制数
459
16
28
16
1
16
0
(459)10=(1CB)16
1 C B
余11
余12
余 1
语言程序设计
第二章数据描述
C
6
二进制与八进制之间的转换
二进制转换成八进制:从右向左,每3位一组(不足3位左补0),转换成八进制
八进制转换成二进制:用3位二进制数代替每一位八进制数
例(1101001)2=(001,101,001)2=(151)8
例(246)8=(010,100,110)2=(10100110)2
000 ~ 0
001 ~ 1
010 ~ 2
011 ~ 3
100 ~ 4
101 ~ 5
110 ~ 6
111 ~ 7
<
>
语言程序设计
第二章数据描述
C
7
二进制与十六进制之间的转换
二进制转换成十六进制:从右向左,每4位一组(不足4位左补0),转换成十六进制
十六进制转换成二进制:用4位二进制数代替每一位十六进制数
例(110**********)2=(0011,0101,0111,1101)2=(357D)16
例(4B9E)16=(0100,1011,1001,1110)2=(100101110011110)2
0000 ~ 0
0001 ~ 1
0010 ~ 2
0011 ~ 3
0100 ~ 4
0101 ~ 5
0110 ~ 6
0111 ~ 7
1000 ~ 8
1001 ~ 9
1010 ~ A
1011 ~ B
1100 ~ C
1101 ~ D
1110 ~ E
1111 ~ F
<
>
语言程序设计
第二章数据描述
C
8
字节和位
内存以字节为单元组成
每个字节有一个地址
一个字节一般由8个二进制位组成
每个二进位的值是0或1
0
1
2
3
4
5
6
7
0
1
2
3
4
5
6
7
8
9
10
……...
<
>
语言程序设计
第二章数据描述
C
7
6
4
3
2
5
1
9
数值的表示方法——原码、反码和补码
原码:最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。
反码:
正数:反码与原码相同
负数:符号位为1,其余位对原码取反
补码:
正数:原码
谭浩强C语言配套课件c第二章课件 来自淘豆网m.daumloan.com转载请标明出处.