如何在C++中将变量从十六进制转换为十进制?
问题描述:
我想将一个变量从十六进制转换为十进制。我知道'cout'的解决方案,但我不想显示该变量。我怎样才能做到这一点?如何在C++中将变量从十六进制转换为十进制?
int checksum = 98 (HEX value)
答
的98
文字是不是一个十六进制的文字,这是一个十进制文本表示的98的整数值如果您使用的0x
十六进制的前缀加前缀则文本代表152
十进制值:
int checksum = 0x98; // which is 152 in base 10 number system
值是值,无论是用十进制,十六进制,八进制还是二进制表示literals。最终它是内存中的所有字节。值保持不变,类型为int
。只有通过流操纵器或文字才能操纵该值的表示。从十六进制文字参考摘录:
己字面是字符序列0x或字符序列0X 后跟一个或多个十六进制数字(0,1,2,3,4,5,6,7 ,8, 9,A,A,b,b,C,C,d,d,E,E,F,F)
答
如果意味着98是一个十六进制数,并且你把它写在源代码中:
int checksum=0x98; // checksum is going to be 152
@ rak007问题是十六进制为十进制。 –
@PaulFloyd你甚至读过答案吗? – rak007