进制转换总结

可以将[0,10]和16进制的字符串,转化成十进制,,其中如果是十六进制,需将0x去除,如果是其他进制,不包括负数

还可以将十进制字符串转化成整型


int shift(int R,string str)
{
    int res=0;
    for(int i=0;i='A')
                res=res*R+(str[i]-'A'+10);
            else
                res=res*R+str[i]-'0';
        }
        else res=res*R+str[i]-'0';
    }
    return res;
}

将10进制转化成10进制以内的数

    void shift(int num,string &res)
    {
        if(num>6) //此处是转化成7进制,所以这里是 6
        {
            shift(num/7,res);  //此处是转化成7进制,所以这里是7;
        }
        res+=to_string(num%7);
    }

 将任意10进制转化成任意进制


 #include
 #include 
 using namespace std;

   int main() {
       int r,n;
       stack s;
       cin>>n>>r;
       while(n)
       {
           s.push(n%r);
           n/=r;
       }
       while(!s.empty())
       {
           switch(s.top())
           {
               case 10:cout<<'A';break;
               case 11:cout<<'B';break;
               case 12:cout<<'C';break;
               case 13:cout<<'D';break;
               case 14:cout<<'E';break;
               case 15:cout<<'F';break;//这些都是为了能转化为十六进制。
               default:cout<

 

你可能感兴趣的:(算法题)