c++ 进制转换代码

 

//二转十
#include<iostream> using namespace std; int main() { string n; cin>>n; int sum=0,p=1; for(int i=n.size()-1;i>=0;i--){ if(n[i]=='1'){ sum+=p; } p*=2; } cout<<sum; return 0; }
十转十一
#include<iostream>
using namespace std;
int main() {
	int n,m;
    int a[100000];
    cin>>n;
    m=n;
    int i=0;
    while(n){
        a[i]=n%11;
        n/=11;
        i++;
    }
    for(int j=i-1;j>=0;j--){
        if(a[j]<10){
            cout<<a[j];
        }else{
            cout<<'A';
        }
        
    }
     return 0;
}

  

三转十
#include<iostream>
//#include<cmath>
#include<bits/stdc++.h>
using namespace std;
int main() {
	string n;
    cin>>n;
    int sum=0,a=0;
    for(int i=n.size()-1;i>=0;i--){
        sum+=(n[i]-'0')*pow(3,a);
        a++;
    }
    cout<<sum;
     return 0;
}

  

//十转三
#include<iostream>
using namespace std;
int main() {
	int n;
    cin>>n;
    int a[100000];
    int i=0;
    while(n){
        a[i++]=n%3;
    	n/=3;       
    }
    //int sum=0;
    for(int j=i-1;j>=0;j--){
        cout<<a[j];
    //    if(a[j]==1){
    //        sum++;
    //    }
    }
    //cout<<endl<<sum;
    
     return 0;
}

  

//十转十二
#include<iostream>
using namespace std;
int main() {
	int n;
    int a[100000];
    cin>>n;
    int i=0;
    while(n){
        a[i]=n%12;
        n/=12;
        i++;
    }
    for(int j=i-1;j>=0;j--){
        if(a[j]<10){
            cout<<a[j];
        }else if(a[j]==10){
            cout<<'A';
        }else if(a[j]==11){
            cout<<'B';
        }
        
    }
     return 0;
}

  

//小数转二
#include<iostream>
#include<bits/stdc++.h>
using namespace std;
int main() {
	float n;
    cin>>n;
    int a;
    cout<<"0.";
    while(n){
        n*=2;
        a=floor(n);
        n-=a;
        cout<<a;
    }
    
     return 0;
}

  

 

posted @ 2025-07-29 14:30  王ys  阅读(10)  评论(0)    收藏  举报