c++ - 将表示二进制的字符串转换为表示等效十六进制的字符串

标签 c++ string binary hex

所以我有一个字符串 x = "10101",我需要将 x 中二进制的十六进制值放入任何字符串 y 中。所以如果 x="10101" 那么 y="0x15"

最佳答案

最简单的方法是使用 [bitset][1]:

#include <iostream>
#include <string>
#include <bitset>

using namespace std;
int main(){
    string binary_str("11001111");
    bitset<8> set(binary_str);  
    cout << hex << set.to_ulong() << endl;
}

但我读到这不是最有效的方法...取决于您的需求。请记住,过早的优化是万恶之源

关于c++ - 将表示二进制的字符串转换为表示等效十六进制的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5628815/

相关文章:

c - 某些输入的整数到二进制转换程序失败

c++ - 低级键盘 Hook 重复击键(不需要)

c++ - 为什么可以在 C++ 中使用没有#include 线程的 std::thread ?

python - 计算文件中数字字符串的总和,而数字位于随机行中

python - 如何查找重复字母并将其从列表中的字符串中全部删除

binary - 从二进制格式打开一个 jpeg 图像

c++ - 二进制比较

c++ - Perl 与 Ultraedit 脚本

c++ - 如何将 C++ union 转换为 Delphi

php - 如何使用php获取字符串中以 '#'开头的单词?