计算机中的进制
1.计算机中的进制
是一种计数的方式,数值的表示形式
2.常见的进制
二进制,八进制,十进制,十六进制
3. 进制 数字 进位方法
3.1 二进制 0,1 逢二进一
3.2 十进制 0 ~ 9 逢十进一
3.3 八进制 0 ~ 7 逢八进一
书写形式:在前面加个0,如045
3.4 十六进制 0 ~ 9 ,A ~ F 逢十六进一
书写形式:在前面加个0x或0X,如0x45
注意,十六进制实16进1.但只有0~9这十个数字,所以用A,B,C, D, E, F这六个字母冯别来表示10~15。
3.5 进制转换表
4.不同进制互相转换
4.1 例子
- //定义一个十进制数,显示成八进制和十六进制
- int a = 13;
- printf("a8 = %o\n", a);
- printf("a16 = %x\n",a);
- //定义一个二进制,打印成十进制
- int b = 0b00000000000000000000000000001101;
- printf("b = %d\n",b);
- //定义一个八进制,打印成十进制
- int c = 015;
- printf("c = %d\n",c);
- //定义一个十六进制,打印成十进制
- int d = 0xD;
- printf("d = %d",d);
复制代码
4.2 进制转换的要素
a.数位 数位指 数码在一个数中所处的位置
b.基数 数值是N进制,那么基数就是N
c.位权 基数^数位
例如:
二进制数 1000, 数码1的数位是3,基数是2,所以位权是2^3 = 8
4.3 C语言中不提供把其他进制直接转换成二进制的方法,需要自己写代码转换
4.4 十进制转换成二进制:除2取余法,然后得到余数的序列,再倒序
例如:
十进制数转换成二进制数,计算过程:8除以2,余数0,商为4;4除以2,余数0,商为2;2除以2,余数0,商为1;1除以2,余数1,商为0. 结果按余数倒序排列为:1000
4.5 二进制转换成十进制:按位加权法
例如:
1000 转换成十进制计算过程为 1 * 2^3 + 0 * 2^2 + 0 * 2^1 + 0 * 2^0 = 8
4.6 二进制转换成十六进制
整数部分从右向左,四位并一位,不足四位,不足位补领,小数部分从左向右四位并一位。
例如:二进制数110 1000 1101 1110 转换成十六进制
1110---> 14 ---> E
1101---> 13 ---> D
1000---> 8 ---->8
110 不够四位补齐位0110 ---> 6--->6
结果:68DE
4.7 十六进制转换成二进制
把每一位拆成四位成为二进制
例如:十六进制数:8A
8 ---> 1000
A ---> 1010
因此十六进制数8A转换成二进制数为1000 1010
|
|