将char十六进制转换为C的Char Dec



我想以这种方式将存储在变量类型unsigned char中的值转换为十进制:

unsigned char hexValue = 0x0C;

我想将hexValue转换为" DEC"格式的新unsigned char

unsigned char decValue = 0x12; //Ox0C

我尝试了sprintf()strtol(),但没有良好的结果。

有时它会感到混乱地理解价值和表示之间的差异。因此,考虑此代码:

#include <stdio.h>
int main(void) {
    unsigned char hexVal = 0x0C;
    unsigned char dec = hexVal;
    printf("nValue expressed in decimal: %d and in hexadecimal: %x", dec,dec);
    return 0;
}

请参阅实时代码

在第一个任务声明中,它表示十个概念是十六进制。当将hexval分配给变量DEC时,分配的是以二进制格式存储的值十。由于DEC已经是一个变量,因此在此处无需Sprintf()。然后,您可以使用格式指定符将十个值表示为十进制或在另一个基数中。在这种情况下。该值表示为十进制。

最新更新