是什么决定了原始数据类型的大小?

Nay*_*iya 12 c c++ memory types

对于我的一个C++编程分配,我必须在设计程序时考虑整数变量的大小.我在互联网上阅读,大多数地方都说"整数的大小取决于平台." 我不清楚这意味着什么,所以我在这里问.

  1. 是什么决定了原始数据类型的大小?

    • 处理器架构(可以是指令集大小).
    • 操作系统
    • 编译器
    • 以上的组合.
  2. 2 byte在某些系统中选择一个整数大小为s 的原因是什么,4 byte在其他系统中选择s 的原因是什么?有什么理由不能继续2字节吗?

Lee*_*hem 6

他们在这里意味着什么平台.

通常,它表示操作系统,编译器和编译器的一些特殊选项的组合.

是什么原因决定原始数据类型的大小.

那就是"上面的组合".


顺便说一句,这被称为"记忆模型"或"数据模型"(不确定哪一个是正确的术语),您可以从http://en.wikipedia.org/wiki/64-bit了解更多相关信息.


her*_*tao 5

是什么决定了原始数据类型的大小?

这取决于编译器.编译器通常依赖于体系结构,处理器,开发环境等,因为它将它们考虑在内.所以你可能会说这是所有的组合.

选择一个整数在某些系统中的大小为2个字节,在其他系统中为4个字节的原因是什么?有什么理由不能继续2字节吗?

C++标准没有以字节为单位指定整数类型的大小,但它指定了它们必须能够容纳的最小范围.您可以从所需范围推断出最小位数.您可以从中推断出以字节为单位的最小大小以及定义一个字节中位数CHAR_BIT宏的值(除了最模糊的平台之外,它都是8,并且它不能小于8).

点击这里了解更多信息.