一、进制转换
- 概念理解:在计算机当中存在进制:二进制 八进制 十进制 十六进制
- 掌握:
二进制转十进制
十进制转二进制
二进制转十六进制
二进制转八进制
十进制转八进制
八进制转十六进制
二进制转十进制:(记住 8421码)
二进制:由0或1组成的数据
十进制:由0~9组成的数据
二进制转十进制方法:记住每一个二进制对应的十进制权位值,将有1的权位值相加即可得到
- 例子:
1 1 1 1 1 1 1 1 1 1 --》二进制
512 256 128 64 32 16 8 4 2 1 --》二进制对应的十进制权位值
- 十进制转二进制
概念:十进制转二进制方法:将对应的十进制数逐步拆分为二进制权位值,有对应的位,二进制置1即可
例子:
512 256 128 64 32 16 8 4 2 1 十进制
1 1 1 1 1 1 1 1 1 1 二进制
计算:666
首先用 666 -512 = 154
然后 154 - 128 = 26
然后 26 - 16 = 10
然后 10 - 8 = 2
然后 2 - 2 = 0
结果--》折分的十进制数:512 128 16 8 2 --》二进制:从右向左数,不够位补0--》 0010 1001 1010
- 二进制转十六进制
二进制 :由0或1组成的数据 10 11 12 13 14 15
十六进制:由0~F组成的数据 0 1 2 3 4 5 6 7 8 9 A B C D E F
二进制转十六进制方法:将二进制从右到左依次按四位分开,最左边若不满足四位,前面补0
,将四位的二进制根据下面对应的关系可算出十六进制
- 例子:
二进制 :
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
十六进制 : 0 1 2 3 4 5 6 7 8 9 A B C D E F
二进制--》 0001 1101 0010 1101
十六进制--》 1 D 2 D (结果就是:1D2D)
- 二进制转八进制
二进制:由0或1组成的数据
八进制:由0~7组成的数据 0 1 2 3 4 5 6 7
二进制转八进制方法:将二进制从右到左依次按三位分开,最左边若不满足三位,前面补0
,将三位的二进制根据下面对应的关系可算出八进制
- 例子:
二进制 :000 001 010 011 100 101 110 111
八进制 :0 1 2 3 4 5 6 7
二进制: 101 011 011
八进制: 5 3 3
- 十进制转八进制
方法:先将十进制转--》二进制--》再转八进制
- 例子:
十进制:864
二进制:0011 0110 0000
八进制:001 101 100 000 --》八进制结果:1540
- 八进制转十六进制
方法:先将八进制转--》二进制--》再转十六进制
- 例子:
八进制:741
二进制 :0001 1110 0001
十六进制 : 1E1
二、输入及输出
- 输入:scanf()
scanf使用建议
不要在const char *format参数内添加\n
不在const char *format参数内添加相关的符号或者是字符
数据类型格式要与变量类型一致
数据类型格式与变量取地址个数要相同
- 如何解决%c不匹配上个输入时留下的\n
解决方法,清空缓冲区:
代码:
while( getchar() != '\n'); //清空缓冲区
ch = getchar():获取缓冲区中的一个字符
- 例子
给1个变量赋值
int num;
scanf("%d", &num); //& -->取变量的内存地址
给2个变量赋值
int num, num1;
scanf("%d%d", &num, &num1); //& -->取变量的内存地址
给一个字符变量赋值
char a = 65; 65-->A
scanf("%c", &a); //(输入数据格式 ,地址)
char *p =NULL;
p = &a ;
通过键盘输入字符串,再输出数据
char buf[15];
scanf("%s", buf); //buf是数组名,它是地址,不需要加&
- 输出:printf()
i
nt number = 100;
printf("number = %d\n",number);
%d:数据格式
注:每个对应的变量,它输出类型有所不同
可在打印进制时加入#,将进制符号打印出来
- 例子:
%#o %#x
0457 0x457
八进制变量定义
int var_8 = 0457; //系统会认为这个是一个八进制数 数据前面加0
printf("var_8 = %#o\n",var_8);
printf("var_8 = %#x\n",var_8);
常用的数据格式
%c : 字符类型
%d : 整型
%s : 字符串类型
%u : 无符号类型
%hu : 无符号短整型类型
%hd : 短整型 short
%ld : 长整型
%f : 浮点型 float
%lf : 长浮点型 double
%e : 科学计数型
%o : 打印八进制
%x : 打印十六进制
%p : 打印变量指针地址