C++十进制转换成十六进制函数

Write two overloaded functions that parse a decimal number into a hex number as a string. The function headers are as follows:

char * convertDecimalToHex(int value)
void convertDecimalToHex(int value, char *s)

#include<iostream.h>
#include<stdlib.h>
#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按十六进制转换为字符串并输出
p=itoa(n,str,16);
cout<<"str="<<str<<endl;
cout<<"p="<<p<<endl;

//从键盘上输入double类型的数据
cout<<"Please input a double:"<<endl;
double x;
cout<<"x=";
cin>>x;

//将浮点数x转换为字符串后输出
p=gcvt(x,10,str);
cout<<"str="<<str<<endl;
cout<<"p="<<p<<endl;

return 0;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-04-04
英语看不懂啊!!不过我知道十进制转换成16进制printf("%x\n",十进制数);
第2个回答  2012-04-03
#include<stdio.h>
char restr[50];
char * convertDecimalToHex(int value)
{
sprintf(restr,"%x",value);
return restr;
}
void convertDecimalToHex(int value, char *s)
{
sprintf(s,"%x",value);
}
void main()
{
int i=500;
printf("%s\n",convertDecimalToHex(i));
convertDecimalToHex(i, restr);
printf("%s\n",restr);
}本回答被提问者采纳
第3个回答  2012-12-28
简便方法:
#include<stdio.h>

int main()
{
int n;
scanf("%d",&n);
printf("%X",n);
}
不简便方法:
#include<stdio.h>

int b[32],c=0;
int main()
{
int n,i;
scanf("%d",&n);
while(n>0)
{
b[c++]=n%16;
n/=16;
}
for(i=c-1;i>=0;i--)
if(b[i]<10) printf("%d",b[i]);
else printf("%c",b[i]-10+'A');
}

用C++编写一个函数将十进制转换成十六进制
include<iostream.h> #include<stdlib.h> #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...

用C++如何编程十进制转换成十六进制的程序,谢谢!
cout<<"输入要转换的进制数(2,8,16...):";cin>>k;\/\/直接改为K=16即可实现十进制转换为十六进制 cout<<"输入一个10进制数:";cin>>m;convfrom10tok(m,k);cout<<"对应的"<<k<<"进制数:"<<endl;\/*for(i=n-1;i>=0;i--)if(a[i]>9) cout<<char(a[i]+55);else c...

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

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++ 用递归函数 将 十进制数n转换为十六进制数,要能正确输出。_百度知 ...
n \/=16;} p = '\\0';for(p--, q=buf; q

基于C++语言编程,如何把int型的数值10,转换为16进制格式的0x10,而不...
这个要求很少见的说,这样凡是带a-f的16进制数就无法传输了 不过可以实现 convert函数实现这样的功能,main为测试函数,可以不管 include <stdio.h>int convert(int a){int i = 0, ret = 0;int t;while(a){t = a%10;ret |= t<<(i*4);a\/=10;i ++;if(i > 8) break;}return ret...

用C++链栈编辑十进制对十六进制的转化
free(p); return x; }int main() { int num; LinkStack *top; printf("请输入你要转换的数字:"); scanf("%d",&num); top=(LinkStack*)malloc(sizeof(LinkStack)); IniStack(top); while(num!=0)

用c++编写递归将十进制转换为十六进制
这个和十进制转成二进制很像 假设这个十进制数为n 就是不断取模,除以十六。。。一直到n==0 下面的是递归求解 include <stdio.h>#include <iostream>using namespace std;int n,cnt=0;char num[10];void dfs(int x){ if(x\/16!=0) dfs(x\/16); if((x%16)<10) num[++cnt]=...

C语言十进制转十六进制数
C语言十进制转十六进制数的源代码如下:include<bits\/stdc++.h> using namespace std;void IntZh0x(int n){int s=n%16;if(n\/16!=0) IntZh0x(n\/16);if(s>9){ if(s==15) cout<<"F";else if(s==14) cout<<"E";else if(s==13) cout<<"D";else if(s==12) cout<<"C"...

c++实现十进制到十六进制的转换
这个部分是一个递归调用的过程,一直到n\/16 == 0条件,执行过程中n的值也就是函数的形参的值是n = n \/ 16。条件结束时其实就是你的值是16进制的低4个字节,n1是高四个字节。比如,n = 31 \/ 16 = 1余15 此时n = 1 ,作为函数形参再进函数。n = 15 \/ 16 = 0余15 那么递归结束,...

相似回答