如何在 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;
}
相关文章