精华内容
下载资源
问答
  • c++十进制转十六进制

    万次阅读 多人点赞 2019-03-11 17:08:08
    十六进制转十进制 #include #include int main(){ using namespace std; int i=0,n,m,num[100]; char hex[16]={‘0’,‘1’,‘2’,‘3’,‘4’,‘5’,‘6’,‘7’,‘8’,‘9’,‘A’,‘B’,‘C’,‘D’,‘E’,...
    十进制转十六进制
    #include<iostream>
    #include<cstdlib>
    int main(){
    	using namespace std;
    	int i=0,n,m,num[100];
    	char hex[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
    	cout<<"please a number."<<endl;
    	cin>>n;
    	while(n>0){
    		num[i++]=n%16;
    		n=n/16;
    	}
    	for(i=i-1;i>=0;i--){
    		m=num[i];
    		cout<<hex[m];
    	}
    	system("pause");
    	return 0;
    }
    
    展开全文
  • C++十进制转十六进制

    2019-02-28 16:49:50
    十进制转化为二进制,然后每4位二进制对应1位十六进制,按照相应的数字输出即可。 (用map映射10对应A,11对应B,12对应C.....) #include"iostream" #include"algorithm" #include"...

    思路:

    将十进制转化为二进制,然后每4位二进制对应1位十六进制,按照相应的数字输出即可。

    (用map映射10对应A,11对应B,12对应C.....)

    #include"iostream"
    #include"algorithm"
    #include"string"
    #include"map"
    using namespace std;
    int main()
    {	   
    	   long long int Dec,num;
           cin>>Dec;//输入十进制,如果是0输出0 
           if(Dec==0){
           	cout<<0;
           	return 0;
    	   }
           string Bin = "";
           string one(1,'1');
           string zer(1,'0');
    	   while(Dec){
    	   	//这里牵扯string转int,上面声明one,zer为string型就可以不用转换 
    	   	    num=Dec%2;
    	   	    if(num==1)
    	   	       Bin+=one;
    	   	    else
    	   	       Bin+=zer;
    	   	    Dec/=2;
    	   }
    	   reverse(Bin.begin(),Bin.end());//逆序 
    	   if(Bin.length()%4==3)//凑为4的倍数 
    	        Bin="0"+Bin;
    	   if(Bin.length()%4==2)
    	        Bin="00"+Bin;
    	   if(Bin.length()%4==1)
    	        Bin="000"+Bin; 
    	   map<int,string> mymap;//映射大于10所对应的十六进制 
    	   mymap[10] = "A";
    	   mymap[11] = "B";
           mymap[12] = "C";
    	   mymap[13] = "D";
           mymap[14] = "E";
           mymap[15] = "F";
           map<int,string>::iterator iter;
           int sum=0;
    	   for(int i=0;i<=Bin.length()-4;i+=4){
    	        sum=8*(Bin[i]-'0')+4*(Bin[i+1]-'0')+2*(Bin[i+2]-'0')+(Bin[i+3]-'0');
    	        if(sum<10)
    	           cout<<sum;
    	        else{
    	        	iter = mymap.find(sum);
    	        	cout<<iter->second;
    			}
    	        sum=0;
    		}
    	   
    	return 0;
    } 

     

    展开全文
  • 十进制转十六进制.cpp

    2020-12-05 15:59:16
    十进制转十六进制.cpp
  • 十进制转换为十六进制,也就是 采用 除k取余法 ,直接让10处以16,再对 数据如果小于10和大于10进行处理,代码如下: #include<iostream> #include<string> using namespace std; int main() { ...

    十进制转换为十六进制,也就是 采用 除k取余法 ,直接让10处以16,再对 数据如果小于10和大于10进行处理,代码如下:

     

    #include<iostream>
    #include<string>
    using namespace std;
    int main()
    {
    	long a;//输入的数
    	int y=0;//循环中的余数
    	string s="";//输出的结果
    	cin>>a;
    	if(a==0)//0比较特殊,单独处理
    	{
    	cout<<0;
    	return 0;
    	}
     
    	while(a>0)//大于0的数
    	{
    		y=a%16;  //求余
    		if(y<10)   //小于10的余数
    		s=char('0'+y)+s;  //利用字符的ascll码在字符串前面拼接
    		else
    		s=char('A'-10+y)+s;  //大于9的余数用ABCDE表示
    		a=a/16;   
    	}
    	cout<<s;
    	return 0;
    }

     

    十六进制转换为10进制,采取的是 乘以16

    #include<iostream>  
    #include<string>  
    #include<math.h>  
    using namespace std;  
      
    int main()  
    {  
        string s;  
        int i=0,count,sum;  
        while(getline(cin,s))  
        {  
            int count=s.length();  
            sum=0;  
            for(i=count-1;i>=0;i--)//从十六进制个位开始,每位都转换成十进制  
            {  
                if(s[i]>='0'&&s[i]<='9')//数字字符的转换  
                {  
                    sum+=(s[i]-48)*pow(16,count-i-1);  
                }  
                else if(s[i]>='A'&&s[i]<='F')//字母字符的转换  
                {  
                    sum+=(s[i]-55)*pow(16,count-i-1);  
                }  
            }  
            cout<<sum;  
        }  
    }  

     

    十进制 转换为 二进制,采取的是 除2取余法,其中把 2 换成其他小于10的数,可以变成相应的 其他进制

     

    #include<iostream>
    
    using namespace std;
    
    int main(){
    	int a;
    	cin>>a;
    	int result=0;
    	int temp=a;
    	int j=1;
    	while(temp){
    		result=result+j*(temp%2);
    		temp=temp/2;
    		j=j*10;
    	}
    	
    	cout<<result<<endl;
    	
    	
    	return 0;
    } 

     

    展开全文
  • 输入-一个十进制的整数,输出该数的十六进制表示。 输入 输入数据有多组,第一个数表示数据的组数n. 然后是n个十进制数 输出 输出为n行,每行一个对应的十六进制数。其中大于等于10的数字用大写英文字母ABCDEF...

    问题描述

    输入一个十进制的整数,输出该数的十六进制表示。

    输入

    输入数据有多组,第一个数表示数据的组数n.

    然后是n个十进制数

    输出

    输出为n行,每行一个对应的十六进制数。其中大于等于10的数字用大写英文字母ABCDEF表示。

    输入样列

    253
    31
    0

    输出样例

    FD
    1F
    0

    解决方案 

    C++版本一 

    #include "stdio.h"
    int main()
    {
        int n,m;
        scanf("%d",&n);
        for(int i=0;i<n;i++){
        	scanf("%d",&m);
        	printf("%X\n",m);
    	}
          return 0;
    }
    

    C++版本二

    #include <stdio.h>
    #include <stdlib.h>
    int main(int argc, char *argv[]) {
    	int n,m;
    	scanf("%d",&n);
    	for(int q=0;q<n;q++)
    	{
    		scanf("%d",&m);
    		int i=0,j,k;
    		// i 为十进制位数
    		// j 循环变量
    		// k 正负数标记 
    		// a 存储每一位的值 
    		int a[31];
    		//特判0 
    		if(m==0){
    			printf("0\n");
    			continue;
    		}
    		//判断正负数标记 
    		if(m>=0)
    			k=1;
    		else
    			k=-1;
    		//转换 
    		while(m!=0){
    			a[i]=abs(m%16);
    			m/=16;
    			i++;
    		}
    		//负数负号输出 
    		if(k==-1)
    		printf("-");
    		//输出 
    		for(j=i-1;j>=0;j--){
    			if(a[j]>9){
    				switch (a[j])
    				{
    					case 10:printf("A");break;
    					case 11:printf("B");break;
    					case 12:printf("C");break;
    					case 13:printf("D");break;
    					case 14:printf("E");break;
    					case 15:printf("F");break;
    				}
    			}
    			else{
    				printf("%d",a[j]);				
    			}
    		}
    		printf("\n");
    	}
    	return 0;
    }
    

    参考文章

    https://shentuzhigang.blog.csdn.net/article/details/82899369

    展开全文
  • 十进制转十六进制 #include int main() { using namespace std; int i = 0, n, m, num[100]; char hex[16] = { ‘0’,‘1’,‘2’,‘3’,‘4’,‘5’,‘6’,‘7’,‘8’,‘9’,‘A’,‘B’,‘C’,‘D’,‘E’,‘F’ ...
  • 主要介绍了C++实现十六进制字符串转换为十进制整数的方法,涉及C++字符串与数制转换的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
  • 十进制转十六进制 int Dec, Comp=0, HexArr[100], count=0; cin>>Dec; while(0!=Dec) { Comp=Dec; Dec/=16; Comp%=16; HexArr[count++]=Comp; } for(int i=count-1;i>=0;i--) { if(HexArr[i]>9) { ...
  • 其他转换请参考博文: C++编程积累——C++实现十进制与二进制之间的互相转换 十进制十六进制之间的转换 十进制转换十六进制 与二进制类似,十进制转...C++实现十进制转换十六进制 主函数main.cpp为: #inc...
  • 十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E。  给出一个非负整数,将它表示成十六进制的形式。 输入格式 输入包含一个...
  • C语言-顺序栈实现十进制转换为二进制-八进制-十六进制
  • C++ 二进制、十进制、八进制和十六进制 转换

    万次阅读 多人点赞 2019-04-26 16:49:20
    如果要求按八进制或十六进制输入输出,在cin或cout中必须指明相应的数据形式,oct为八进制,hex为十六进制,dec为十进制。但是二进制没有默认的输出格式,需要自己写函数进行转换。 输入整数n , 则在C++中cout<&...
  • 进制转十六进制C++语言实现) 十进制数字每位有十个可能的值:0-9。 而十六进制则是在这些数字的基础上加了A、B、C、D、E、F,这五个字母。 下面附上C++代码: #include <iostream> #include <string....
  • c++_二进制数、十进制十六进制相互转化的函数
  • 使用VS2010的MFC写了一个进制转换的小计算器。 涉及十进制转十六进制,int,char,CString之间的转换等 对初学C++的人可能对进制的转换,以及变量类型的转换很是头疼,希望对初学者有所帮助
  • [C++] 十进制转十六进制

    千次阅读 2018-08-26 15:57:43
    循环 整除 求余 判断 ...十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E。  给出一个非负整数,将它表示成十...
  • 进制转十六进制 资源限制 时间限制:1.0 s 内存限制:512.0 MB 问题描述 十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。...
  • #include<iostream> using namespace std; int main(){ int a=42,b=42,c=42;...//十进制 cout<<a; cout<<oct;//八进制 cout<<b; cout<<hex;//十六进制 cout<<c; return 0; }
  • 主要介绍了十进制负数转换为二进制、八进制、十六进制的知识分享,需要的朋友可以参考下
  • 十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E。  给出一个非负整数,将它表示成十六进制的形式。 输入格式  输入包含一.....
  • 蓝桥杯十六进制转十进制,十进制转十六进制精简版(C++) //十六进制转十进制 #include using namespace std; #include #include int main() { char a[100]; cin>>a; int l=strlen(a); long long num=0;//注意...
  • hex :表示以十六进制输出 #include<iostream> using namespace std; int main() { int d; cin>>d; cout<<"八进制输出:"<<oct<<d<<endl; //八进制输出decNum cout<<"十六...
  • char str[100] = {0}; int num = 432; sprintf(str,"%04X",num); //%04X代表不足4位前面补零直至4位,例432的十六进制是1B0,输出则为01B0 cout << str << endl; //输出01B0
  • Qt进制转换(十进制转十六进制)

    千次阅读 2020-12-07 00:31:51
    十进制转十六进制 转化方法如下: int x =10; unsigned int ux = x; QString xVal = QString::number(ux, 16);//得到十六进制数(字符串方式表达) 如果有用的话,欢迎点赞????关注????
  • 十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E。  给出一个非负整数,将它表示成十六进制的形式。 输入格式  输入包含一.....
  • C++十进制数转换为十六进制表示的算法C++十进制数转换为十六进制表示的算法完整源码(定义,实现,main函数测试) C++十进制数转换为十六进制表示的算法完整源码(定义,实现,main函数测试) #include <iostream&...
  • C++ 十进制整数转十六进制字符串

    千次阅读 2019-09-12 11:42:48
    //i要转化的十进制整数,width转化后的宽度,位数不足则补0 std::string dec2hex(int i, int width) { std::stringstream ioss; //定义字符串流 std::string s_temp; ...
  • C++实现进制转换(十进制转十六进制)

    万次阅读 2015-11-24 16:32:43
    今天研究了一下如何将十进制转化为十六进制,并用C++实现了一下,代码可能不是太优化,但还可以用。 在网上一搜才发现之前早有人总结得很全面了,见C++进制转换 本人实现代码如下:#include #include using ...
  • C++十六进制转二进制

    2013-04-08 13:17:39
    进制转十六进制 十六进制转二进制的小程序
  • (1)C/C++实现  1&gt;基础方法:当然就是常规方法了,...然后是输入,输入之后要判断输入的十进制数是否在0~15之间,在这之间呢,直接让输入的这个十进制数求余16然后匹配字符数组即可;另一种情况就是这个...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 30,994
精华内容 12,397
关键字:

c++十进制转十六进制

c++ 订阅