将十六进制值转换为二进制值

时间:2016-11-05 18:12:36

标签: c++

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

2 个答案:

答案 0 :(得分:0)

在十六进制字符和二进制字符之间写一个映射。

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在评论部分指出的那样。

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

答案 1 :(得分:0)

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

Convert strings between hex format and binary format

您可能想要查看它,我认为提供的答案完整且易于理解。