如何在 C++ 中将十六进制数字转换为二进制? [英] How can I convert hexadecimal numbers to binary in C++?

查看:168
本文介绍了如何在 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;
    }

这篇关于如何在 C++ 中将十六进制数字转换为二进制?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆