wenbo2005.online

学习记录 / STM32

进制转换

STM322024-09-17
//===============================================十六进制转十进制===================================================

#include <stdio.h>
#include <stdlib.h>

int main() {
    char hexNum[10];  // 存储输入的十六进制数
    int decNum;       // 存储转换后的十进制数

    printf("请输入一个十六进制数:");
    scanf("%s", hexNum);//例如0xFEFF或0x00800000

    // 使用 strtol 函数将十六进制数转换为十进制数
    decNum = strtol(hexNum, NULL, 16);

    printf("转换后的十进制数为:%d\n", decNum);

    return 0;
}

int H_To_D(char *hexNum)
{
    int decNum;                       // 存储转换后的十进制数
    decNum = strtol(hexNum, NULL, 16);// 使用 strtol 函数将十六进制数转换为十进制数
    return decNum;
}

//===============================================十进制转十六进制===================================================

#include <stdio.h>
#include <stdlib.h>

void printHex(int decimalValue) {
    printf("Hex: 0x%X\n", decimalValue);
}

int main() {
    char tmp_decimalValue[10]; // 十进制数
    printf("请输入一个十进制数:");
    scanf("%s", tmp_decimalValue);//例如65279
    int decimalValue = atoi(tmp_decimalValue);
    printHex(decimalValue);

    return 0;
}