【发布时间】:2019-07-07 12:22:55
【问题描述】:
我在 char 数组中存储了一些十六进制值。我想对这些十六进制值求和,如果它大于 1 个字节,那么它应该删除较大的位。
例如我可以声明 字符 a = 0x21; 字符 b = 0x07;
所以我想添加它们以获得应有的 0x28 的十六进制值,该值存储为字符。
【问题讨论】:
-
char c = a + b;? -
听起来您可能想使用
unsigned char。它们可以轻松表示从0x00到0xFF的值,并具有隐式模运算(“丢弃”最大位)。 -
只是为了澄清您可能有的误解,您不能在字符中存储十六进制值。 char 只是一个小整数。您所能做的就是将该小整数打印为十六进制或十进制或其他任何内容。