根据OS体系结构使用数据类型

时间:2014-11-14 09:58:20

标签: c++ c types

我正在修改C / C ++中的所有概念。我从数据类型开始,突然间我遇到了一个问题,何时使用以下哪种数据类型?

我们有uint_64 uint_32uint_16。现在,为了清楚地理解,请告诉我这个数字(即64,32,16)是否适用于特定数据类型的位数以及它们如何受OS架构的影响?

2 个答案:

答案 0 :(得分:2)

您的理解是正确的。 64,32,16代表用于存储uint的位数。操作系统体系结构不会限制您使用特定类型,但会影响程序的性能。

操作系统可以影响进程可以使用的最大内存量,因为它可以为您提供虚拟地址长度。

此外,如果您使用32位操作系统,那么它将仅使用CPU中的32位寄存器,因此使用uint_64的性能会更低。使用64位操作系统可以在CPU中使用64位寄存器,而使用uint_64只能在一个寄存器中使用。

答案 1 :(得分:0)

通常,当开发人员对类型名称中的位数进行编码时,无论使用何种体系结构,它们都强调该类型应具有相同的大小。