我希望将 0x030C30C3 和 0x09249249 之类的数字转换为位。我怎样才能做到这一点?
问问题
123 次
2 回答
5
二进制表示可以通过以下方式轻松访问和操作std::bitset
:
std::bitset<32> var(0x030C30C3);
std::cout << var; // binary representation
于 2013-05-02T15:16:32.087 回答
0
如果您想查看一个简单的算法来显示如何进行“转换”,那么这里是一个:
#include <iostream>
void num2bin(uint32_t num)
{
uint32_t mask = 1 << 31;
for (int i = 0; i < 32; i++)
{
if (num & mask)
std::cout << 1;
else
std::cout << 0;
mask >>= 1;
}
}
int main(int argc, char *argv[])
{
uint32_t num = 0x030C30C3;
num2bin(num);
}
于 2013-05-02T15:31:54.920 回答