【c语言】进制之间的相互转换。十进制转换八进制、十六进制;十六进制转换八进制

灰太狼 2022-12-24 06:57 280阅读 0赞

目录

(1)【未显示前导 0 或者0X】

(2)【显示前导 0 或者0X】:输出的时候添加#

(3)总结:

(4)进制之间的转换:


例子:十进制整数1234对应的八进制和十六进制(字母大写),用空格分开,并且要求,在八进制前显示前导0,在十六进制数前显示前导0X

(1)【未显示前导 0 或者0X】

  1. #include <stdio.h>
  2. int main(){
  3. int i = 1234;
  4. printf("1234的八进制数:%o\n",i);
  5. printf("1234的十六进制数:%X\n",i);
  6. }

结果展示:

20201127115037507.png

(2)【显示前导 0 或者0X】:输出的时候添加#

  1. #include <stdio.h>
  2. int main(){
  3. int i = 1234;
  4. printf("1234的八进制数:%#o\n",i);
  5. printf("1234的十六进制数:%#X\n",i);
  6. }

结果展示:

20201127115144248.png

(3)总结:

%o 八进制不会显示前导0

%X 十六进制不会显示前导0X

%#o 显示八进制前面的前导 0

%#X 显示十六进制前面的前导 0X

(4)进制之间的转换:

十进制—————>八进制。%o (无前导0) %#0 (有前导0)

十进制—————>十六进制。%X(无前导0X) %#X(有前导0X)

十六进————->十进制。 %d %md (m是所占的域宽)

  1. #include <stdio.h>
  2. int main(){
  3. int a = 1234;
  4. int b = 0xABCDEF;
  5. printf("十进制---无前导--->八进制 %o\n",a);
  6. printf("十进制---前导--->八进制 %#o\n",a);
  7. printf("十进制---无前导--->十六进制 %X\n",a);
  8. printf("十进制---前导--->十六进制 %#X\n",a);
  9. printf("十六进制---无域宽-->十进制 %d\n",b);
  10. printf("十六进制---域宽为15-->十进制 %15d\n",b);
  11. }

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L01pc3NfbGlhbmdybQ_size_16_color_FFFFFF_t_70

发表评论

表情:
评论列表 (有 0 条评论,280人围观)

还没有评论,来说两句吧...

相关阅读