2~10进制内转换到10进制

 2~10进制内转换到10进制

转换是可以从最后一位开始的,每次我的第一直觉都是按公式从前面开始,发现很经常错。从后面开始比较简洁而且不易错误。

  1. /************************************************************************/  
  2. /* a是要转换的数,bit是原本的进制(2~10)                               */  
  3. /************************************************************************/  
  4. __int64 toTen(__int64 a,int bit)  
  5. {     
  6.     __int64 b=1,sum=0;  
  7.     while (a!=0)  
  8.     {  
  9.         sum+=a%10*b;  
  10.         a/=10;  
  11.         b*=bit;  
  12.     }  
  13.     return sum;  
  14. }  

 

对于特定进制,如二进制,八进制,十进制,十六进制,可以直接特定输出,如:

  1. int main()  
  2. {  
  3.     int a ;  
  4.     char biao[100];  
  5.     printf("请输入您要转化的十进制数!!~/n");  
  6.     scanf("%d",&a);  
  7.     printf("您的十进制数%d经过转化为二进制数为%s/n",a,itoa(a,biao,2));  
  8.     printf("您的十进制数%d经过转化为八进制数为%o/n",a,a);  
  9.     printf("您的十进制数%d经过转化为十六进制数为%X/n",a,a);  
  10.     return 0;  
  11. }  

对于itoa()函数将在下一篇详细说明

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值