用c++编写16进制转2进制
时间: 2024-01-21 09:03:37 浏览: 152
c++ 10进制转2、8、16进制.docx
以下是一个简单的 C++ 程序,可以将 16 进制数转换为 2 进制数:
```c++
#include <iostream>
#include <string>
#include <bitset>
using namespace std;
int main() {
string hex_num;
cout << "Enter a hexadecimal number: ";
cin >> hex_num;
int dec_num = stoi(hex_num, nullptr, 16);
bitset<32> bin_num(dec_num);
cout << "The binary equivalent is: " << bin_num.to_string().substr(bin_num.to_string().find('1')) << endl;
return 0;
}
```
程序首先提示用户输入 16 进制数,然后将其转换为十进制数。接着,使用 std::bitset 将十进制数转换为二进制数,并输出结果。
需要注意的是,该程序中使用的是 C++11 引入的 std::bitset,因此需要使用编译器支持 C++11 的编译选项。如果编译器不支持 C++11,可以使用其他方法实现二进制转换,比如手动实现二进制转换算法。
阅读全文