精华内容
下载资源
问答
  • C++进制转换

    2020-06-08 15:54:02
    C++进制转换 进制转化在c和c++中可以用头文件解决进制转化问题,可以在百度搜索到,此代码为比较繁琐的进制转化方法。初学者写的代码还请大佬们指导。 void Turn(int &g,int a) { int division[30]; int ...

    C++进制转换

    进制转化在c和c++中可以用头文件解决进制转化问题,可以在百度搜索到,此代码为比较繁琐的进制转化方法。初学者写的代码还请大佬们指导。

    void Turn(int &g,int a)
    {
     int division[30];
     int reminder=1;
     int j=0;
     while(g>=a)
     	{
     	division[j]=g%a;       //将数转化成进制单位的数 如3转2进制除出 1 1 
     	g=g/a;
      	j++;
     	} 
     division[j]=g;
     g=0;
     for(int i=0;i<=j;i++)
      	{
      	for(int k=0;k<i;k++)
       	{
       reminder*=10;       
       }
      reminder=reminder*division[i];//将已经转化的数转化成“十进制”的形式 
      g=g+reminder;
      reminder=1;
      }
    }
    int main(){
     void Turn(int &g,int a);
     int am,change;
     cin>>am>>change;
     Turn(am,change);
     cout<<am; 
     return 0;
    } 
    
    
    展开全文
  • c++进制转换

    2021-03-16 17:24:33
  • c++ 进制转换

    2021-02-17 14:42:00
    以二进制转换为十进制为例: 基本规则:把二进制数按权展开、相加即得十进制数。 c++代码实现 int toDecimal(string s,int radix){ //s是给定的radix进制字符串 int ans=0; for(int i=0;i<s.size();i++){ ...

    任意2-36进制数转换为10进制数

    以二进制转换为十进制为例:
    基本规则:把二进制数按权展开、相加即得十进制数。
    二进制数转成十进制

    c++代码实现

    int toDecimal(string s,int radix){    //s是给定的radix进制字符串
    	int ans=0;
    	for(int i=0;i<s.size();i++){
    		char t=s[i];
    		if(t>='0'&&t<='9') ans=ans*radix + (t-'0');
    		else ans=ans*radix + (t-'a'+10);
    	}
    		return ans;
    }
    
    

    Demo

    #include<cstdio>
    #include<string>
    
    using namespace std;
    
    int toDecimal(string s,int radix){ //将二进制的11011转换为十进制
    	int ans=0;
    	for(int i=0;i<s.size();i++){
    		char t=s[i];
    		if(t>='0'&&t<='9') ans=ans*radix+(t-'0');
    		else ans=ans*radix+t-'a'+10;
    	}
    		return ans;
    }
    
    
    int main(){
    	string s="11011";
    	int radix=2;
    	int res=toDecimal(s,2);
        //通过to_string()方法将int转换为string
        //string s1=to_string(res);
    	printf("%d",res);
    	return 0;
    }
    

    十进制转换为其他进制

    方法一

    以十进制转换为二进制为例:

    基本规则:十进制数除2取余法,即十进制数除2,余数为权位上的数,得到的商值继续除,直到商为0为止。
    十进制转二进制

    c++代码实现

    string decimalToA(int n,int radix){//n是待转数字(十进制),radix是需转换为的进制
    	string ans="";
    	do{
    		int t=n%radix;
    		if(t>=0&&t<=9)	ans+=t+'0';//将数字转换为字符
    		else ans+=t-10+'a';//转换为相应的字母,比如讲十进制的11转换为16进制的b
    		n/=radix;
    	}while(n!=0);	//使用do{}while()以防止输入为0的情况
    	reverse(ans.begin(),ans.end());
    	return ans;	
    }
    

    Demo

    #include<cstdio>
    #include<algorithm>
    
    using namespace std;
    
    string decimalToA(int n,int radix){//将十进制150转换为二进制
    	string ans="";
    	do{
    		int t=n%radix;
    		if(t>=0&&t<=9)	ans+=t+'0';//将数字转换为字符
    		else ans+=t-10+'a';//转换为相应的字母,比如讲十进制的11转换为16进制的b
    		n/=radix;
    	}while(n!=0);	//使用do{}while()以防止输入为0的情况
    	reverse(ans.begin(),ans.end());
    	return ans;	
    }
     
    
    int main(){
    	int n=150;
    	int radix=2;
    	string res=decimalToA(n,2);
        //可以用stoi()函数将string类型转换为int
        //int res1=stoi(res.c_str());
    	printf("%s", res.c_str());
    	return 0;
    }
    

    方法二

    itoa()函数(可以将一个10进制数转换为任意的2-36进制字符串)

    用法:charitoa(int value,charstring,int radix);

    Demo

    #include<cstdio>
    #include<string>
    
    using namespace std;
    
    int main(){
    	int num=10;
    	char str[10];
    	itoa(num, str, 16);  //将十进制的10,转换为16进制,并存在字符串str中
    	printf("%s",str);
    	return 0;
    }
    
    展开全文
  • C++ 进制转换

    2021-04-13 23:12:32
    16进制、2进制与10进制的互相转换 string htoi(string hStr) { return std::to_string(std::stoi(hStr, nullptr, 16)); } string itoh(string iStr) { std::stringstream ss; long long temp = std::atoll...

    16进制、2进制与10进制的互相转换 

    
    string htoi(string hStr)
    {
    	return std::to_string(std::stoi(hStr, nullptr, 16));
    }
    
    string itoh(string iStr)
    {
    	std::stringstream ss;
    	long long temp = std::atoll(iStr.c_str());
    	ss.setf(std::ios_base::hex, std::ios_base::basefield);
    	ss.setf(std::ios_base::showbase);
    	std::string result;
    	ss << temp;
    	ss >> result;
    	return result;
    }
    
    string btoi(string bStr)
    {
    	return std::to_string(std::stoi(bStr, nullptr, 2));
    }
    
    string itob(string iStr)
    {
    	int n = std::stoi(iStr, nullptr, 10);
    	string s = " ";
    	for (int a = n; a; a = a / 2)
    	{
    		s = s + (a % 2 ? '1' : '0');
    	}
    	std::reverse(s.begin(), s.end());
    	return s;
    }
    

     

    展开全文
  • c/c++进制转换 转中文

    2017-06-22 17:09:26
    c/c++进制转换 转中文 16进制 2进制 10进制 相互转换........................................................................
  • void change16_2() { printf("十六进制->二进制\n"); int i,a,b,c,d,k; int x[3]; char m[3]={0,0,0},n[3];...进制转换怎么不对,如果m字符串 输入A 就会输出两次“输入错误”,这是为什么,这里的输入要怎么改
  • C++进制转换题解

    2020-10-01 19:12:46
    Dev-cpp实现进制转换 ** 进制转换就是A进制转B进制(2<=A<=16 , 2<=B<=16)。 这里我们用的方法是先由A进制转十进制,接着再把十进制的数转为B进制。 由A进制转为十进制通常使用一个公式: 设A进制数为P[i...
  • C/C++进制转换和输出格式 输出格式 1、输出保留多少有效位数 #include <iostream> #include <iomanip> //设置必备的头文件 using namespace std; int main() { // 指定保留多少位小数 double s=12....
  • c++进制转换试题,可以进行10->2范围转换,很好用。
  • 二进制和十进制的转换整数:(1)二进制转换成十进制二进制数字的每个数位有一个编号,最右边的编号是0,向左一次递增二进制转换成十进制的结果就是将每个数位上的1乘以2的编号次方,再将所有的结果相加1234 = 1X10^3 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,028
精华内容 1,611
关键字:

c++进制转换

c++ 订阅