【问题标题】:How to add the hex values of two or more chars?如何添加两个或多个字符的十六进制值?
【发布时间】:2019-07-07 12:22:55
【问题描述】:

我在 char 数组中存储了一些十六进制值。我想对这些十六进制值求和,如果它大于 1 个字节,那么它应该删除较大的位。

例如我可以声明 字符 a = 0x21; 字符 b = 0x07;

所以我想添加它们以获得应有的 0x28 的十六进制值,该值存储为字符。

【问题讨论】:

  • char c = a + b;?
  • 听起来您可能想使用unsigned char。它们可以轻松表示从 0x000xFF 的值,并具有隐式模运算(“丢弃”最大位)。
  • 只是为了澄清您可能有的误解,您不能在字符中存储十六进制值。 char 只是一个小整数。您所能做的就是将该小整数打印为十六进制或十进制或其他任何内容。

标签: c++ char hex


【解决方案1】:

感谢 tkausl。它让我意识到答案将是 int 类型,我很困惑为什么它给了我 40。

我在寻找 char(a+b)。

【讨论】:

  • 40 是正确答案。显然 40 和 0x28 是同一个数字。您似乎误解了数字以十六进制或十进制存储。它们不是,它们只打印为十六进制或十进制。您可以将int 打印为十六进制,也可以根据需要将char 打印为十进制。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-01
  • 2021-12-22
  • 1970-01-01
  • 2016-01-23
  • 1970-01-01
相关资源
最近更新 更多