zoukankan      html  css  js  c++  java
  • 十进制与任意进制的互相转换

    #include<iostream>
    #include<stdio.h>
    #include<string.h>
    #include<math.h>
    using namespace std;
    
    int fact(int n,int p)   //十进制转为任意进制 (n是十进制数,p是要转化进制选择) 
    {
    	int res;
    	if(n<p)
    	return n;
    	else
    	return n%p+fact(n/p,p)*10;	
    }
    
    int inv_fact(int p,int n)   //任意进制转为十进制 
     //p代表当前的数字进制,n代表当前p进制下的数字表示 
    {
    	char s[20];
    	int result=0;
    	int temp=0;
    	sprintf(s,"%d",n);
    	int len=strlen(s); //为获取数字的长度,进行数字转字符串,用strlen求长度 
    	//cout<<len<<endl;
    	for(int i=0;i<len;i++)
    	{
    		temp=n%10;
    		n=n/10;
    		result=result+temp*pow(p,i);
    	}
    	cout<<result;
    	
    }
    
    int main()
    {
    	int m;
    	int p;
    	cout<<"十进制转为任意进制"<<endl;
    	cin>>m>>p;	
    	cout<<fact(m,p)<<endl;  
    	cout<<"任意进制转为十进制"<<endl;
    	cin>>m>>p; 
    	inv_fact(m,p);
     } 
    

     

     

  • 相关阅读:
    MvvmTest
    win8 app 相关的几个网站
    autp
    分析WPF代码工具
    mdsn
    线程和委托
    C#guanli
    学习Boost小结(一)
    Boost.test库的配置
    自己真是太没正事了.
  • 原文地址:https://www.cnblogs.com/victorywr/p/13512926.html
Copyright © 2011-2022 走看看