为什么没有bool数据类型的最小大小?

时间:2014-01-21 06:38:26

标签: c++ boolean

我正在阅读C ++ Primer并遇到一个包含C ++数据类型最小保证大小的表,因为它写的是不保证bool的最小大小。
它有什么具体原因吗?

1 个答案:

答案 0 :(得分:2)

理论上,布尔值的大小只需要一个位,但在内存分配中,类型需要以与其他类型兼容的方式对齐,填充位有时用于不同的编译器和计算机体系结构,以便最小的封装到存储任何数据类型都是一个字节。

Why is a boolean 1 byte and not 1 bit of size?

根据上一条评论,我应该在维基百科文章中添加以下字节:

字节/baɪt/是计算和电信中的数字信息单元,通常由8位组成。从历史上看,字节是用于在计算机中编码单个文本字符的位数[1] [2],因此它是许多计算机体系结构中最小的可寻址存储单元。