使用stm32f103c8t6实现十六进制转十进制的c语言
时间: 2024-04-23 17:20:50 浏览: 138
基于STM32F103C8T6的舵机控制.rar
使用STM32F103C8T6实现十六进制转十进制的C语言代码如下:
```c
#include <stdio.h>
int hexToDec(char hex[]) {
int dec = 0;
int base = 1;
int i = 0;
// 计算字符串长度
while (hex[i] != '\0') {
i++;
}
// 从右往左遍历字符串,计算每个字符对应的十进制值
for (int j = i - 1; j >= 0; j--) {
// 如果是数字字符,则直接转换为对应的十进制值
if (hex[j] >= '0' && hex[j] <= '9') {
dec += (hex[j] - '0') * base;
}
// 如果是字母字符,则转换为对应的十进制值
else if (hex[j] >= 'A' && hex[j] <= 'F') {
dec += (hex[j] - 'A' + 10) * base;
}
base *= 16; // 更新基数
}
return dec;
}
int main() {
char hex[10];
printf("请输入一个十六进制数:");
scanf("%s", hex);
int dec = hexToDec(hex);
printf("转换后的十进制数为:%d\n", dec);
return 0;
}
```
这段代码通过定义一个`hexToDec`函数来实现十六进制转十进制的功能。在`main`函数中,首先获取用户输入的十六进制数,然后调用`hexToDec`函数进行转换,并将结果打印输出。
阅读全文