【c语言】进制之间的相互转换。十进制转换八进制、十六进制;十六进制转换八进制
目录
(1)【未显示前导 0 或者0X】
(2)【显示前导 0 或者0X】:输出的时候添加#
(3)总结:
(4)进制之间的转换:
例子:十进制整数1234对应的八进制和十六进制(字母大写),用空格分开,并且要求,在八进制前显示前导0,在十六进制数前显示前导0X
(1)【未显示前导 0 或者0X】
#include <stdio.h>
int main(){
int i = 1234;
printf("1234的八进制数:%o\n",i);
printf("1234的十六进制数:%X\n",i);
}
结果展示:
(2)【显示前导 0 或者0X】:输出的时候添加#
#include <stdio.h>
int main(){
int i = 1234;
printf("1234的八进制数:%#o\n",i);
printf("1234的十六进制数:%#X\n",i);
}
结果展示:
(3)总结:
%o 八进制不会显示前导0
%X 十六进制不会显示前导0X
%#o 显示八进制前面的前导 0
%#X 显示十六进制前面的前导 0X
(4)进制之间的转换:
十进制—————>八进制。%o (无前导0) %#0 (有前导0)
十进制—————>十六进制。%X(无前导0X) %#X(有前导0X)
十六进————->十进制。 %d %md (m是所占的域宽)
#include <stdio.h>
int main(){
int a = 1234;
int b = 0xABCDEF;
printf("十进制---无前导--->八进制 %o\n",a);
printf("十进制---前导--->八进制 %#o\n",a);
printf("十进制---无前导--->十六进制 %X\n",a);
printf("十进制---前导--->十六进制 %#X\n",a);
printf("十六进制---无域宽-->十进制 %d\n",b);
printf("十六进制---域宽为15-->十进制 %15d\n",b);
}
还没有评论,来说两句吧...