【问题标题】:Convert a hexadecimal value into a binary value [duplicate]将十六进制值转换为二进制值[重复]
【发布时间】:2017-03-19 09:43:08
【问题描述】:

我有一个程序需要采用 2 位十六进制值(最多 FF)并将每个数字转换为单独的 4 位二进制值(最多 1111)。我可以编写一个算法来为我做这件事,但在我这样做之前,有没有一种简单的方法可以使用 C++ 中的内置函数来做到这一点?

【问题讨论】:

标签: c++


【解决方案1】:

编写十六进制字符与其二进制之间的映射。

std::string HexCharToBinary( char c ) {
switch (c) {
  case '0': return "0000";
  case '1': return "0001";
  // Now input rest of the cases.
  case 'f': return "1111";
  default: assert(false); return "bad input";
};

正如@Crazy Eddie 在评论部分指出的那样。

使用数组会更好和最佳的解决方案。

【讨论】:

  • 能否请您链接此 (stackoverflow.com/questions/483609/…),以避免重复。
  • 为什么不使用数组???
  • 如果另一个问题的答案回答了这个问题,请将问题标记为重复,而不是复制答案。绝对不要在没有署名的情况下复制。
  • @CrazyEddie:我的错。我没想到。
【解决方案2】:

这里已经回答了一个类似的问题:

Convert strings between hex format and binary format

您可能想检查一下,我认为那里提供的答案是完整且易于理解的。

【讨论】:

    猜你喜欢
    • 2013-06-16
    • 2012-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-05
    • 2014-02-05
    • 2018-10-20
    相关资源
    最近更新 更多