1. 进制
- 二进制:
0
,1
。 - 八进制:
0
,1
,2
,3
,4
,5
,6
,7
。 - 十六进制:
0
,1
,2
,3
,4
,5
,6
,7
,8
,9
,A
,B
,C
,D
,E
,F
。
2.转换
- 十进制转换成R进制:短除法
3. C语言中的进制
3.1 进制常量表示
- C语言不能直接表示二进制常量。
- 八进制数字以
0
开头表示,例如:06
. - 十六进制数字以
0x
或者0X
开头,例如0x1A
:地址。
3.2 输入输出
- 输入
#include <stdio.h>
int main()
{
int n;
scanf("%o",&n);
printf("%d\n",n);
scanf("%x",&n);
printf("%d\n",n);
scanf("%d",&n);
printf("%d\n",n);
scanf("%i",&n);
printf("%d\n",n);
}
-
%d
与%i
区别:
在输出printf()
时,没有区别;
在输入scanf()
时,%d
只与十进制形式的整数相匹配;%i
可以匹配八进制、十进制和十六进制形式的整数。
2.输出
- 打印32以内十进制、八进制、十六进制表
#include <stdio.h>
int main()
{
for(int i=0;i<32;++i){
printf("%d\t%#o\t%#x\n",i,i,i);
}
}