函数的综合应用——进制转换

#include<iostream>
//#include<cstdio>
//#include<cmath>
//#include<cstring>
//#include<iomanip>
#include<cstdlib>
using namespace std;
void TurnData(int n,int a);
char ch[6]={'A','B','C','D','E','F'};  
int main(){
    int n;
    cin>>n;
    TurnData(n,2);
    TurnData(n,8);
    TurnData(n,16);
    return 0;
}
void TurnData(int n,int a){
    int ga[42],i,j,k=0;//数组定义几都可以,只要比输入的数转换成的进制多就可以 
    cout<<n<<"turn into"<<a<<":"<<endl;
    if(n<0)cout<<"-";//负数先把负号写上 
    j=abs(n);//绝对值(cstdlib库) 
    do{
        k++;
        i=j%a;
        j/=a;//一位一位算 
        ga[k]=i;
    }while(j!=0);//数值转换问题除以a取余,再将所有步骤的余数倒过来写出即为a进制 
    for(int h=k;h>=1;h--){
        if(ga[h]<10)cout<<ga[h];
        else cout<<ch[ga[h]-10]; 
    }
    cout<<endl;
}

C++函数综合应用例题

思路大体就是十进制转换为二进制、八进制、十六进制数时,先将十进制数除以要转化为的n进制数的n,定义新数组并取余数作为第一个值,再将得数继续除以n,余数存到第二个值中,以此类推直到得数为0时(即上述j=0),最后将所得的所有值倒过来首变尾,尾变首即可。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值