您的位置:首页 > 理论基础

黑马程序员----C 语言学习笔记之计算机中的进制

2015-09-23 21:29 387 查看
------Java培训、Android培训、iOS培训、.Net培训--------

计算机中的进制

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: