1

我很难找出为什么我bitset在将其写入磁盘时占用 29MB 内存。即写出的文件是29MB 大。bitset我用以下方式写出:

#include <iostream>
#include <string>
#include <fstream>

int main() {
    std::bitset<29621645> a;
    std::ofstream out;
    out.open("myfile");
    out << a;
    out.close();

    return 0;
}

如果我执行以下操作,则表明bitset仅使用3702712字节:

std::cout << sizeof(a); // outputs 3702712

我在这里想念什么?它看起来像是使用 1 字节换 1 位。我希望该文件的大小仅为~3.7 MB,因为我想要一个字节中的实际 8 位。

4

0 回答 0