bitset <32> 8个字节的大小?

时间:2018-07-22 19:06:58

标签: c++ bit-manipulation bit

我只是对bitset <32>元素的确切大小感到困惑。

正如std::bitset::size的{​​{3}}所说:

  

返回位集中的位数。

正如sizeof的{​​{3}}所说

  

返回类型的对象表示形式的大小(以字节为单位)。

所以我尝试在以下程序中使用这两个功能

#include <iostream>

using namespace std;

int main(){
    unsigned char a = 0; // a = 5(00000101)
    std::bitset<32> x(a);

    cout << sizeof(x) << endl;
    cout << x.size() << endl;
    return 0;
}

输出为

8 
32

sizeof(x)为什么不返回4?因为32位应等于4个字节,而不是8个字节?

0 个答案:

没有答案