我正在修改C / C ++中的所有概念。我从数据类型开始,突然间我遇到了一个问题,何时使用以下哪种数据类型?
我们有uint_64
uint_32
和uint_16
。现在,为了清楚地理解,请告诉我这个数字(即64,32,16)是否适用于特定数据类型的位数以及它们如何受OS架构的影响?
答案 0 :(得分:2)
您的理解是正确的。 64,32,16代表用于存储uint的位数。操作系统体系结构不会限制您使用特定类型,但会影响程序的性能。
操作系统可以影响进程可以使用的最大内存量,因为它可以为您提供虚拟地址长度。
此外,如果您使用32位操作系统,那么它将仅使用CPU中的32位寄存器,因此使用uint_64的性能会更低。使用64位操作系统可以在CPU中使用64位寄存器,而使用uint_64只能在一个寄存器中使用。
答案 1 :(得分:0)
通常,当开发人员对类型名称中的位数进行编码时,无论使用何种体系结构,它们都强调该类型应具有相同的大小。