我想以这种方式将存储在变量类型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()。然后,您可以使用格式指定符将十个值表示为十进制或在另一个基数中。在这种情况下。该值表示为十进制。