使用C语言将十六进制十进制转换为整数
问题
如何使用C编程语言将十六进制值转换为整数值?
解释概念。
解决方案
十六进制值以16个符号1到9和A到F表示。这里,A到F的十进制等效值为10到15。
示例
以下是使用函数将十六进制转换为整数的C程序-
#include<stdio.h>输出结果#include<string.h>
#include<math.h>
int hextodc(char *hex){
int y = 0;
int dec = 0;
int x, i;
for(i = strlen(hex) - 1 ; i >= 0 ; --i)//{
if(hex[i]>='0'&&hex[i]<='9'){
x = hex[i] - '0';
}
else{
x = hex[i] - 'A' + 10;
}
dec = dec + x * pow(16 , y);// 将十六进制转换为整数值++ y;
}
return dec;
}
int main(){
char hex[100];
printf("输入十六进制: ");
scanf("%s", hex);
printf("\nDecimal: %d", hextodc(hex));
return 0;
}
执行以上程序后,将产生以下结果-
1. 输入十六进制: ADecimal: 10
2. 输入十六进制: A12
Decimal: 2578
解释
从右到左扫描十六进制的所有字符
令扫描的字符为A。
将A转换为适当的十进制格式并将其存储在x中。
dec = dec + x * 16y
y = y + 1。
返回十进制。
我们也可以从左到右扫描十六进制值,但是,我们必须将y初始化为y = N – 1,并在每次迭代时递减y。N是十六进制的长度。
以上是 使用C语言将十六进制十进制转换为整数 的全部内容, 来源链接: utcz.com/z/344788.html