我正在学习C#,并深入研究数据类型。
为什么布尔(bool)数据类型的大小不是1位?
似乎它只能容纳两个值(true或false),那么表示这个值只需要占用1位空间,对吗?
是因为在这篇帖子中所提到的,可寻址值的最小字节为1字节(8位)吗?
我的总体目标是逻辑地想象每种C#数据类型的不同大小,因此我试图创建一个所有数据类型及其分配位大小的列表,但这让我困扰了。
我正在学习C#,并深入研究数据类型。
为什么布尔(bool)数据类型的大小不是1位?
似乎它只能容纳两个值(true或false),那么表示这个值只需要占用1位空间,对吗?
是因为在这篇帖子中所提到的,可寻址值的最小字节为1字节(8位)吗?
我的总体目标是逻辑地想象每种C#数据类型的不同大小,因此我试图创建一个所有数据类型及其分配位大小的列表,但这让我困扰了。
这是因为值的最小'可寻址'大小是一个字节吗?
是的,完全就是这个原因。为了让CLR更加高效,它以与C++编译器相似的方式将其数据类型映射到本地机器数据类型。