数字序列的最佳数据结构[0:9]

时间:2018-05-07 17:23:00

标签: c++ string digit std-bitset

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

我认为它可能是那样的

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

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

有没有更好的想法来处理这样的事情?

1 个答案:

答案 0 :(得分:3)

要存储10个集合中的值,需要4位。

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

因此,最佳代表性将最大限度地减少浪费。

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