用C语言将16进制数转化为10进制数 16进制数以字符串形式输入 最好运用数组 谢谢

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用C语言将16进制数转化为10进制数 16进制数以字符串形式输入 最好运用数组 谢谢相关的知识,希望对你有一定的参考价值。

用itoa函数(需要stdlib.h头文件),假如要把a存进字符数组str[]中,则这样操作itoa(a, str, 16)。第三个参数是进制数。
如果你要用代码实现,那我就写个函数给你吧:
#include <stdio.h>
const char HexNum[] = "0123456789ABCDEF";

void subDecToHex(int dec, char *&str) if(!dec) return; subDecToHex(dec/16, str); *str = HexNum[dec%16]; ++str;
void decToHex(int dec, char *str) subDecToHex(dec, str); *str = 0;
int main() int a; char str[100]; while(scanf("%d", &a) != EOF) decToHex(a, str); printf("(%d)10 == (%s)16\n", a, str); return 0;
参考技术A /*将16位字符串转化为十进制,开头带0x*/
void main(int argc, char *argv[])

char ch[10] = '\\0';
int i, j, count = 0;
long sum = 0, f = 0;

printf("Please enter a hexString with 0x at the beginning:\
");
scanf("%s", ch);

if (ch[0] != '0' || (ch[1] != 'x' && ch[1] != 'X'))

printf("input error!\
please begin with the 0x");
exit(0);


while (ch[count] != '\\0')

if (ch[count] > 96 && ch[count] < 123)

ch[count] -= 32;

count++;


for (i = 2; i < count; i++)

f = 1;
for (j = 2; j < i; j++)

f *= 16;

sum += convert(ch[i]) * f;


printf("the result is:%ld\
", sum);



int convert(char ch)

int t = 0;
switch (ch)

case '1':t = 1;break;
case '2':t = 2;break;

case '3':t = 3;break;
case '4':t = 4;break;
case '5':t = 5;break;
case '6':t = 6;break;
case '7':t = 7;break;
case '8':t = 8;break;

case '9':t = 9;break;
case 'A':t = 10;break;
case 'B':t = 11;break;
case 'C':t = 12;break;
case 'D':t = 13;break;
case 'E':t = 14;break;
case 'F':t = 15;break;

default:printf("input error");exit(0);

return t;

ZZNUOJ_用C语言编写程序实现1144:多种进制(附完整源码)

题目描述

输入一个十进制整数n,转换成2、3、7、8进制输出
 
要求程序定义一个dToK()函数,功能是将十进制数转化为k进制整数,其余功能在main()函数中实现。
 

void dToK(int n, int k, char str[]) 

     

//将n转化为k进制数,存入str 

 

输入

输入一个int范围内的正整数n

输出

输出为4行,分

以上是关于用C语言将16进制数转化为10进制数 16进制数以字符串形式输入 最好运用数组 谢谢的主要内容,如果未能解决你的问题,请参考以下文章

c语言中如何将10进制的浮点数转化为16进制数

C语言 将十进制数转化为二进制数 程序代码

求c语言将十进制数转换为16进制的函数

请教QT中怎么实现10进制数转换为16进制数 最好有代码

求 C语言程序 将16进制数,例如“0x00,0xff,0x3f”之类的数,转化为2进制数,急急急!!!

C语言如何定义一个16进制数