在cout中打印错误

时间:2016-03-21 01:52:25

标签: c++ cout

我有一个变量,分为3和5位,我可以填充到每个部分,即a和b。

unsigned char a:3,b:5;

如何单独打印两个部分的值。如果不是,我怎样才能整体打印。

 cout << a << b ;

请帮帮我。

1 个答案:

答案 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;
}

也许这就是答案。