整数类型——妙用%和/进行各进制之间的转换

知识点: 常用的四种int数据类型
%d 十进制格式符
%0x 十六进制
%o 八进制
注意: 八进制的 %o 中的 o 是字母o
十六进制 的 %0x 中的 0 是数字0

不管是16进制还是8进制或者10进制,这串数字在计算机内存里的存储形式都是一串2进制数,这是经过计算机自动转换的,所以我们可以对不同进制的数直接进行数学运算。
例如下面的16进制和8进制相加输出一个10进制数:


    #include<stdio.h>
    int main()
    {    
    int a,b,c=0;    
    scanf("%x %o",&a,&b);  
    printf("%d",a+b);   
    return 0;
    }

下面我们用代码来实现10进制转N进制输出(以10进制转16进制为例):


#include<stdio.h>
int main()
{
 int a, b[1000],c=0,d;
 scanf("%d",&a);
 printf("%0x\n",a);
 while(a>0){
  b[c++]=a%16;       // 如果是转8进制   就对8取余
  a=a/16;            //同时 此处变为a=a/8;
 }
 for(d=c-1;d>=0;d--)
 printf("%d",b[d]);        //  倒序输出余数。
 return 0;
 } 
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值