-1

在 C++ 中可以处理数字序列 [0:9] 且内存浪费最少的最佳数据类型是什么?

我想可能是这样的

typedef bitset<4> Digit;
vector<Digit> myVector;

但是我认为每个都bitset<4>保留一个字节-与字符相同-,所以它并不比普通字符串好,是吗?

有没有更好的主意来处理这样的事情?

4

1 回答 1

3

要存储一组 10 中的值,需要 4 位。

但是在 4 位上,可以表示 16 个值。那是浪费了 6/16 =37.5%。

因此,最好的表示将最大限度地减少浪费。

最好的方法是以二进制形式存储,其中使用了所有位组合。

于 2018-05-07T17:38:18.757 回答