我有一个变量,分为3和5位,我可以填充到每个部分,即a和b。
unsigned char a:3,b:5;
如何单独打印两个部分的值。如果不是,我怎样才能整体打印。
cout << a << b ;
请帮帮我。
答案 0 :(得分:0)
union Value
{
unsigned char char_value;
struct BitValue
{
unsigned char three_bit:3;
unsigned char five_bit:5;
} bit_value;
};
int main()
{
Value tmp;
tmp.char_value=207;
cout<<(unsigned int)tmp.bit_value.three_bit<<" "<<(unsigned int)tmp.bit_value.five_bit<<" "<<(unsigned int)tmp.char_value<<endl;
return 0;
}
也许这就是答案。