哪为高手提供下10进制与16进制互相转化的C++代码

如题所述

#include <iostream>
using namespace std;
class Hex
{
private:
void hexone(int a)
{
if(a>0)
hexone(a/16);
if(a>=10)
cout << char(a+55);
else
cout << a ;
}
public:
Hex():num(0){}
void sethex()
{
int a;
cin >> a;
hexone(a);
}
};

int main()
{
Hex test;
test.sethex();
}

不明白加我百度HI
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-08-11
int hex_char_value(char c)
{
if(c >= '0' && c <= '9')
return c - '0';
else if(c >= 'a' && c <= 'f')
return (c - 'a' + 10);
else if(c >= 'A' && c <= 'F')
return (c - 'A' + 10);
assert(0);
return 0;
}
int hex_to_decimal(const char* szHex, int len)
{
int result = 0;
for(int i = 0; i < len; i++)
{
result += (int)pow((float)16, (int)len-i-1) * hex_char_value(szHex[i]);
}
return result;
}

c++用函数实现十进制数到十六进制数的转换
itoa(int i,char *string,16)直接转换 这个还不简单啊,i对应的就是你的输入数,string就是输出的16进制

c++中10进制数转为16进制数的程序
十进制:dec 十六进制:hex 八进制:oct 举例188 程序如下 include <iostream> using namespace std;int main(){ int a=188;cout<<hex<<a<<endl;return 0;}

16进制转换成10进制C++程序代码
define MAX 30 \/\/main()的定义 int main(void){ char str[MAX],*p;\/\/从键盘上输入int数 cout<<"Please input a int:"<<endl;int n;cin>>n;\/\/将整型数n按十进制转换为字符串并输出 p=itoa(n,str,10);cout<<"str="<<str<<endl;cout<<"p="<<p<<endl;\/\/将整型数n按十六进制...

c++10进制转16进制,我看了自己写的代码好久,找不出错来
我没能看懂你的代码,但是十进制数转换十六进制数应该是很简单的,它就是反复除16,直至商为0,然后反向取余数。include<iostream>using namespace std;static int ResultHex[100]; \/\/ 用于保存十六进制结果void OuputHex(int RH[100],int len) \/\/ 输出十六进制{ while (len>=0) { swit...

用C++编写十进制数转十六进制,并返回为十六进制数对应的ASCII码形式...
include <iostream>#include <string>using namespace std;char dec2hex(int num){char ch;if (num%16 < 10)ch = num%16 + '0';elsech = num%16 - 10 + 'A';return ch;};string getBuffer(int num,int kind){string str("00H00H");int n;switch(kind){case 1:n = num \/...

C++字符串10进制转16进制
用 sscanf 和 sprintf sscanf %x , 再 sprintf %d 16进制转10进制 sscanf %d , 再 sprintf %x 10进制转16进制 例如:10进制转16进制 char s1[8]="23456",s2[8];int i;sscanf(s1,"%d",&i);sprintf(s2,"%x",i);printf("%s",s2);...

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

用C++写10进制到2,8,16进制的转换
void f(int n){ int i=0,j,a[20];while(n!=0){ a[i++]=n%8;n=n\/8;} for(j=i-1;j>=0;j--){ a[j]=(char)(a[j]);cout<<a[j];} cout<<endl;} 你要变成几进制就把8改成几

相似回答
大家正在搜