【发布时间】:2018-03-25 13:56:03
【问题描述】:
我想将一个变量从十六进制转换为十进制。我知道“cout”的解决方案,但我不想显示变量。我该怎么做?
int checksum = 98 (HEX value)
【问题讨论】:
-
@rak007 问题是十六进制到十进制。
-
@PaulFloyd 你读过答案了吗?
我想将一个变量从十六进制转换为十进制。我知道“cout”的解决方案,但我不想显示变量。我该怎么做?
int checksum = 98 (HEX value)
【问题讨论】:
如果你的意思是 98 是一个十六进制数,而你把它写在源代码中:
int checksum=0x98; // checksum is going to be 152
【讨论】:
98 文字不是十六进制文字,它是表示整数值 98 的十进制文字。如果在它前面加上一个十六进制前缀 0x,那么该文字表示一个十进制值152:
int checksum = 0x98; // which is 152 in base 10 number system
值是值,无论是用十进制、十六进制、八进制还是二进制 literals 表示。最终它是内存中的所有字节。该值保持不变,类型为int。无论是通过流操纵器还是文字,都只能操纵该值的表示。十六进制文字引用的摘录:
hex-literal 是字符序列 0x 或字符序列 0X 后跟一个或多个十六进制数字(0、1、2、3、4、5、6、7、8、 9、a、A、b、B、c、C、d、D、e、E、f、F)
【讨论】: