21xrx.com
2025-03-30 11:05:41 Sunday
文章检索 我的文章 写文章
如何在C++中编写一个十六进制转二进制的函数
2023-07-05 05:36:44 深夜i     9     0
C++ 十六进制 二进制 转换函数 编写

在C++中,我们可以使用一些简单的算法和语法来编写一个十六进制转二进制的函数。这个函数将给定的十六进制数转换为二进制数,并输出结果。下面是一个简单的实例:

#include <iostream>
#include <bitset>
using namespace std;
void hexToBinary(string hex) {
  long int i = 0;
  // 删除多余的前导0
  while (hex[i] == '0') {
    i++;
  }
  
  // 转换16进制字符为4个二进制数字
  for (i; i < hex.length(); i++) {
    switch (hex[i]) {
      case '0':
        cout << "0000";
        break;
      case '1':
        cout << "0001";
        break;
      case '2':
        cout << "0010";
        break;
      case '3':
        cout << "0011";
        break;
      case '4':
        cout << "0100";
        break;
      case '5':
        cout << "0101";
        break;
      case '6':
        cout << "0110";
        break;
      case '7':
        cout << "0111";
        break;
      case '8':
        cout << "1000";
        break;
      case '9':
        cout << "1001";
        break;
      case 'A':
      case 'a':
        cout << "1010";
        break;
      case 'B':
      case 'b':
        cout << "1011";
        break;
      case 'C':
      case 'c':
        cout << "1100";
        break;
      case 'D':
      case 'd':
        cout << "1101";
        break;
      case 'E':
      case 'e':
        cout << "1110";
        break;
      case 'F':
      case 'f':
        cout << "1111";
        break;
      default:
        cout << "\nInvalid hex digit " << hex[i];
    }
  }
}
int main() {
  string hex;
  cout << "Enter a hex digit: ";
  cin >> hex;
  hexToBinary(hex);
  return 0;
}

在上面的代码中,我们首先输入一个十六进制数字,并将其作为字符串传递给hexToBinary函数。在这个函数中,我们首先使用一个while循环来删除多余的前导零。接着我们使用一个for循环遍历字符串中的每个字符,并通过一个switch语句来将十六进制字符转换为二进制数字,最终输出结果。

有了这个简单的函数,我们就可以很容易地在C++中将一个十六进制数字转换为二进制数字了。这个函数可以用于任何需要进行这种转换的项目中。

  
  

评论区