1
嗨我需要在C++中将十六进制数转换为二进制数。它代表一个4乘8的二进制图像。例如,以下十六进制数0xc00e90代表图像:将十六进制数转换为布尔型数组
00000000
11000000
00001110
10010000
这是我的工作解决方案。 u是输入十六进制#,图像是布尔数组[4] [8]。但我很确定这不是最佳的解决方案,那么实施这个更好的方法是什么?
for(int i=0;i<4;i++)
{
std::bitset<8> bit((u>>(3-i)*8)&0xFF);
cout<<bit<<"\n";
for (int j=0;j<8;j++)
{
image[i][j]=(bool) bit[7-j];
}
}