用C语言写一个简单地的十进制转十六进制的函数
时间: 2023-03-28 10:02:54 浏览: 41
好的,我可以回答这个问题。以下是一个简单的十进制转十六进制的函数:
```c
void decToHex(int num) {
char hex[100];
int i = ;
while (num != ) {
int temp = ;
temp = num % 16;
if (temp < 10) {
hex[i] = temp + 48;
i++;
} else {
hex[i] = temp + 55;
i++;
}
num = num / 16;
}
for (int j = i - 1; j >= ; j--)
printf("%c", hex[j]);
}
```
这个函数将一个十进制数转换为十六进制数,并将其打印出来。
相关问题
用C语言写一个用十六进制转十进制的函数
当然可以!以下是一个用 C 语言编写的函数,用于将十六进制数转换为十进制数:
```c
#include <stdio.h>
#include <math.h>
int hexToDecimal(char hex[]) {
int len = 0;
int decimal = 0;
int base = 1;
// 计算十六进制字符串的长度
while (hex[len] != '\0') {
len++;
}
// 从右往左遍历十六进制字符串
for (int i = len - 1; i >= 0; i--) {
// 如果字符是数字,则直接转换为对应的十进制数
if (hex[i] >= '0' && hex[i] <= '9') {
decimal += (hex[i] - '0') * base;
}
// 如果字符是字母,则转换为对应的十进制数
else if (hex[i] >= 'A' && hex[i] <= 'F') {
decimal += (hex[i] - 'A' + 10) * base;
}
base *= 16; // 更新进制
}
return decimal;
}
int main() {
char hex[100];
printf("请输入一个十六进制数:");
scanf("%s", hex);
int decimal = hexToDecimal(hex);
printf("对应的十进制数为:%d\n", decimal);
return 0;
}
```
使用该函数,您可以将输入的十六进制数转换为对应的十进制数。请注意,此函数假设输入的十六进制数是有效的,并且不包含前缀"0x"。
C语言写一个函数将十六进制转换为十进制
以下是C语言实现将十六进制转换为十进制的函数:
```c
#include <stdio.h>
#include <string.h>
#include <math.h>
int hex_to_decimal(char hex[]) {
int decimal = 0;
int len = strlen(hex);
for (int i = 0; i < len; i++) {
int digit = 0;
if (hex[i] >= '0' && hex[i] <= '9') {
digit = hex[i] - '0';
} else if (hex[i] >= 'a' && hex[i] <= 'f') {
digit = hex[i] - 'a' + 10;
} else if (hex[i] >= 'A' && hex[i] <= 'F') {
digit = hex[i] - 'A' + 10;
} else {
printf("Invalid hexadecimal string.\n");
return 0;
}
decimal += digit * pow(16, len - i - 1);
}
return decimal;
}
int main() {
char hex[] = "1A4F";
int decimal = hex_to_decimal(hex);
printf("Hexadecimal %s in decimal is %d.\n", hex, decimal);
return 0;
}
```
在本示例中,我们定义了一个名为 `hex_to_decimal` 的函数,它接收一个十六进制字符串 `hex` 作为参数,并返回一个十进制整数。在函数内部,我们首先计算出十六进制字符串的长度 `len`,然后遍历字符串中的每个字符,并将其转换为十进制数。我们使用 `if-else` 语句来判断当前字符是数字还是字母,并计算出对应的十进制值。最后,我们使用 `pow` 函数计算出当前字符所表示的十进制值,并将其加到 `decimal` 变量中。遍历完字符串后,我们返回 `decimal` 变量的值。
在主函数中,我们定义了一个十六进制字符串 `hex`,并调用 `hex_to_decimal` 函数将其转换为十进制数。最后,我们输出转换后的结果。