如何在 C++ 中将十六进制数字转换为二进制?

2022-01-09 00:00:00 binary hex c++

我正在学习 C++ 初级课程,并且想在十六进制表示和二进制之间转换字母.我可以使用以下方法打印出十六进制数字:

I am taking a beginning C++ class, and would like to convert letters between hex representations and binary. I can manage to print out the hex numbers using:

for(char c = 'a'; c <= 'z'; c++){
    cout << hex << (int)c;
}

但我不能对二进制做同样的事情.没有可用于将十进制数转换为二进制的 std::bin.

But I can't do the same for binary. There is no std::bin that I can use to convert the decimal numbers to binary.

推荐答案

像这样:

for(char c = 'a'; c <= 'z'; c++){
        std::bitset<sizeof(char) * CHAR_BIT> binary(c); //sizeof() returns bytes, not bits!
        std::cout << "Letter: " << c << "	";
        std::cout << "Hex: " << std::hex << (int)c << "	";
        std::cout << "Binary: " << binary << std::endl;
    }

相关文章