所以,我正在阅读Cracking the Coding Interview:5th Edition中的一个问题,它说它实现了一个40亿位的位向量。它将位向量定义为一个数组,通过使用一个int数组紧凑地存储布尔值。每个int存储32位序列或布尔值。我在上面的定义中有点困惑。有人能解释一下上述陈述究竟是什么意思吗?
标记为重复的问题,我无法理解,因为它们没有相关的例子。第二个答案确实有一个例子,但它不是真的可以理解。如果你们中的任何人都可以添加一个例子,那将是很好的,尽管只是一个小值。谢谢!
答案 0 :(得分:0)
bool
类型至少为1个字节。这意味着它至少是8位。
在'int'类型中,在32位系统上,它是32位。
如果使用int
类型,那么您有4个字节的32个布尔值bool
,而不是最少32个字节。
在int
中,您可以通过基本位操作存储32个布尔值:&
,|
和~