c++怎么把十六进制进制转成十进制

如题所述

#include<iostream>

#include<cstdlib>

intmain(){

usingnamespacestd;

inti=0,n,m,num[100];

charhex[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};

cout<<"pleaseanumber."<<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");

return0;

}

扩展资料

C++实现十进制转换十六进制

#include<iostream>

#include<fstream>

#include<string>

#include<vector>

#include<cmath>

usingnamespacestd;

intmain()

{

intN;

cout<<"Pleaseenterthenumber:";

cin>>N;

cout<<endl;

//十进制转十六进制的声明和调用

voidconvert_10_to_16(intnum);

convert_10_to_16(N);

}

温馨提示:内容为网友见解,仅供参考
第1个回答  2017-10-12
#include<iostream>
#include<cmath>
#include<cstring>
using namespace std;
int main()
{
char a[100];
int ten=0,len;
cin>>a;
len=strlen(a);
for(int i=len-1;i>=0;i--)
{
if(a[i]>='A'&&a[i]<='F')
a[i]-=55;
else
a[i]-=48;
ten+=a[i]*pow(16,len-1-i);
}
cout<<ten;
return 0;
}
程序送上~
不过这个吞tab啊┗|`O′|- 嗷
输入的变量a是十六进制的数
注意这里的16进制里面字母为大写
输出的数为10进制数
具体原理可参考百度知道

二进制、八进制、十进制、十六进制之间的转换
“本回答被提问者采纳

c++怎么把十六进制进制转成十进制
usingnamespacestd;inti=0,n,m,num[100];charhex[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};cout<<"pleaseanumber."<<endl;cin>>n;while(n>0){ num[i++]=n%16;n=n\/16;} for(i=i-1;i>=0;i--){ m=num[i];co...

C++中如何将十六进制数转换为十进制数
用字符串存储要转换的16进制数,然后把一个一个字符转换为10进制树.大致代码如下:string hexa;cin>>hexa;int sum=0;for(int i=0;i!=hexa.size();++i){ sum+=change(hexa[i])*pow(16.0,double(hexa.size()-i-1));} 补充:change()函数就是取一个字符,返回相应的整数就行了.用switch...

C++ 帮忙如何16进制转为10进制
num = HexToDec((char*)temp);printf("十进制值:%d \\n",num);} \/\/写的有点差,但是可以满足呢你的要求

用C++如何输入一个十六进制的数,输出十进制
int change(int x) \/\/ 16进制 转化为10进制 { int sum=0;int temp=1;int i=0;while(x!=0){ i++;for(int j=1;j>hex>>x;x=change(x);cout<<x<<endl;}

C语言,C++。十六进制数ffff怎么转换成十进制数?
还是我来告诉你吧!十六进制转换成十进制比较容易,给你举个例子你就明白了。如:0xab7d 十进制算法:a*16^3+b*16^2+7*16+d 希望能帮到你

c++中如何将各进制转化成十进制
int main(){ char s[60]="10011110101110010100010"; \/\/二进制数 char s16[8]="0E0E"; \/\/十六进制数 int a,b;a = strtol(s,NULL,2); \/\/二进制转整型数 printf("%d\\n",a); \/\/ 按十进制输出 b = strtol(s16,NULL,16); \/\/16进制转整型数 printf("%d\\n",b);...

C++里面有没有直接把c 16进制转10进制函数的函数
用 法: int sscanf(char *string, char *format[,argument,...]); \/\/%x就是我们要格式化的类型,即输出十六进制 方法2:include <stdio.h> include <stdlib.h>\/\/strtol头文件 int main(){ char *p="0x11";char *str;int i = (int)strtol(p, &str, 16);\/\/十六进制 printf("%d\\n...

C++ 帮忙如何16进制转为10进制
功能:将十六进制的数字数组,转换成相应的十进制数 参数:str :十六进制的数字数组,如 char str[]={0x13, 0xD6 ,0x20};n :str 的元素个数 返回:str 对应的十进制数 ,如 1300000 说明:假设 unsigned long 类型是 N 个字节的,那么参数 n 必须小于等于 N。否则转换结果不正确...

C++怎么将十六进制转换为十进制
string hexa;cin>>hexa;int sum=0;for(int i=0;i!=hexa.size();++i){ sum+=change(hexa[i])*pow(16.0,double(hexa.size()-i-1));}

C++实现十六进制转换成十进制
if(a[i]>='A' && a[i]<='F') \/\/这里'='敲成'+'了 n=n*16+a[i]-'A'+10;} return n;} void main(){ int c,i=0;char t[N]; \/\/cout<<"请输入十六进制数:"<<endl;while(( c=getchar() ) !=10) \/\/读到换行就停止,换行的ACSII是10 { \/\/不知道你的源程序搞那么...

相似回答