zoukankan      html  css  js  c++  java
  • 【C/C++】任意进制转换

      进制转换:R进制->10进制;10进制->R进制、

     1 #include<bits/stdc++.h> 
     2 using namespace std;
     3 /*函数:r进制转换成10进制*/
     4 int rToTen(string n,int r){
     5     //将r进制转为10进制,n是该r进制的字符串表示
     6     int len = n.length();
     7     int ans = 0;
     8     int i = 0;
     9     while(i<len){
    10         ans*=r;
    11         ans+=n[i]-'0';
    12         i++;
    13     }
    14     return ans;
    15 }
    16 
    17 /*函数:十进制转任意进制*/ 
    18 string tenToR(int n,int r){
    19     //十进制n转r进制 ,返回字符串s 
    20     char str[1005];
    21     stack<int>s;
    22     while(n){
    23         s.push(n%r);
    24         n = n/r;
    25     }
    26     int i = 0;
    27     while(!s.empty()){
    28         switch(s.top()){
    29             case 10:
    30                 str[i++] = 'A';
    31                 break; 
    32             case 11:
    33                 str[i++] = 'B';
    34                 break;
    35             case 12:
    36                 str[i++] = 'C';
    37                 break;
    38             case 13:
    39                 str[i++] = 'D';
    40                 break;
    41             case 14:
    42                 str[i++] = 'E';
    43                 break;
    44             case 15:
    45                 str[i++] = 'F';
    46                 break;
    47             default:
    48                 str[i++] = s.top()+'0';    
    49         }
    50         s.pop();
    51     }
    52     string st = str;
    53     return st;
    54 }
    55 
    56 
    57 int main(){
    58     cout<<rToTen("10010",2)<<endl;
    59     cout<<tenToR(18,2)<<endl;
    60 } 
  • 相关阅读:
    第11次作业
    第十次作业
    找回感觉的练习
    Tomact学习笔记
    移动端问题小计
    节流和防抖函数
    requestAnimationFrame动画封装
    svg实现渐变进度圆环
    手机端判断安卓,iso,微信
    git常用指令
  • 原文地址:https://www.cnblogs.com/duye/p/9541128.html
Copyright © 2011-2022 走看看