在C中将char hex转换为char dec [关闭]

问题描述 投票:0回答:1

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

unsigned char hexValue = 0x0C;

我想将hexValue转换为“dec”格式的新unsigned char,如下所示:

unsigned char decValue = 0x12; //Ox0C

我尝试了sprintf()strtol(),但没有取得好成绩。

c
1个回答
3
投票

有时候,理解价值和表现之间的差异会让人感到困惑。所以,请考虑以下代码:

#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;
}

live code

它在第一个赋值语句中将十的概念表示为十六进制。当将hexVal分配给变量dec时,分配的值是以二进制格式存储的值10。因为dec已经是变量,所以不需要sprintf()。然后,您可以使用格式说明符将十进制值表示为十进制或另一个基数。在这种情况下。该值表示为小数。

© www.soinside.com 2019 - 2024. All rights reserved.