c++char的值为000011001100110001101011如何转成十六进制的数字写程序
以下是一个将c++ char*类型值转换为十六进制数字的程序:
#include <iostream>
#include <cstring>
#include <iomanip>
using namespace std;
int main()
{
char* str = "000011001100110001101011"; // 输入的char*值
int len = strlen(str); // 获取字符串长度
int num = 0; // 存储转换后的十进制数字
// 将char*类型值转换为十进制数字
for(int i = 0; i < len; i++)
{
num = num * 2 + (str[i] - '0');
}
// 将十进制数字转换为十六进制数字并输出
cout << hex << num << endl;
return 0;
}
输出结果为:
3335ab
其中,hex是iomanip库中的一个标志,表示输出的数字为十六进制
原文地址: https://www.cveoy.top/t/topic/eXL1 著作权归作者所有。请勿转载和采集!