十进制数与十六进制字符串的转换
2014-09-30 10:09
295 查看
#include <stdio.h>
#include <string.h>
void func(int a,char b[])
{
char *p,c;
p=b;
while(a!=0)
{
*p=a%16; //取出十进制数的十六进制形式的个位尾数
a/=16;
if(*p>=0&&*p<=9) //把这个尾数转成十六进制字符
{
*p=*p+'0';
}
else
{
*p=*p-10+'A';
}
p++;
}
*p='\0';
for(int i=0,k=(int)strlen(b)-1;i<k;i++) //翻转十六进制字符串
{
c=b[i];
b[i]=b[k];
b[k]=c;
k--;
}
char d[22]="0X"; //在字符串前加上"0X",表示这是十六进制
strcat(d,b);
strcpy(b,d);
}
int main()
{
int a;
char b[20];
printf("请输入一个整数:");
scanf("%d",&a);
func(a,b);
printf("%s\n",b);
return 0;
}
#include <string.h>
void func(int a,char b[])
{
char *p,c;
p=b;
while(a!=0)
{
*p=a%16; //取出十进制数的十六进制形式的个位尾数
a/=16;
if(*p>=0&&*p<=9) //把这个尾数转成十六进制字符
{
*p=*p+'0';
}
else
{
*p=*p-10+'A';
}
p++;
}
*p='\0';
for(int i=0,k=(int)strlen(b)-1;i<k;i++) //翻转十六进制字符串
{
c=b[i];
b[i]=b[k];
b[k]=c;
k--;
}
char d[22]="0X"; //在字符串前加上"0X",表示这是十六进制
strcat(d,b);
strcpy(b,d);
}
int main()
{
int a;
char b[20];
printf("请输入一个整数:");
scanf("%d",&a);
func(a,b);
printf("%s\n",b);
return 0;
}
相关文章推荐
- 十六进制字符串转换成对应十进制数的函数
- VC中,如何将十六进制字符串转换为十进制数?
- 霍纳算法,将十六进制字符串转换为十进制数的高效算法
- 十六进制字符串转换为十进制数
- 递归把十六进制(字符串表示)转换称十进制数
- VC中,如何将十六进制字符串转换为十进制数?
- C#控制台基础 将十六进制的字符串 转换成 十进制数
- 在delphi中,如何把十进制数转换为十六进制整形数。若用inttohex只能转化为十六进制字符串。
- 【字符串处理函数】十六进制字符串转换为十进制数
- SQL 实现十进制数和十六进制字符串互相转换
- 将字符串形式输入的比特串转换为相应的十六进制表示的函数
- 字节数组、数值和十六进制字符串的转换
- mssql中十进制转换成十六进制字符串
- 如何将字符串转换为十六进制字符串
- socket发送十六进制字符串 (十六进制字符串与其他类型的转换)
- 字符串转换为十六进制
- 十六进制字符串转十进制数的c代码
- 使用C#将字符串转换成十六进制以及其逆转换
- 十六进制的数转换成字符串
- 十六进制与字符串的相互转换