2015-05-04 32 views
-1

我有一個用例,我需要創建一個大小爲2^64-1的位圖。經過一些閱讀和搜索這個主題後,我決定使用C++ boost庫中的dynamic_bitset。允許來自boost庫dynamic_bitset的最大大小

我應該關心位圖的大尺寸嗎?我想獲得更多關於dynamic_bitset上巨大尺寸的性能影響的想法。有關這個用例的dynamic_bitset的其他選擇?

謝謝。

+6

我很確定你沒有足夠的內存來存儲2^64-1位... – Brian

+0

2^64位,除以8 = 2,305,843,009,213,693,952字節。這是230萬太字節。所以是的,你應該關心它的大小。 – TheUndeadFish

+1

好的。我在這裏搞得很糟糕。我的要求不是真的要存儲2^64 - 1位。我只需要維護特定資源ID的運行索引。我的問題是錯誤的,它沒有多大意義。謝謝 – user2896235

回答

3

實際上,dynamic_bitset的大小不受庫或C++語言本身的限制,但它受RAM大小的限制。所以,2^64-1位約爲2,305,843,009,213,693,952字節,或2,3萬TB。我認爲你的電腦沒有那麼多的記憶。