mzer0
2015 年 10 月 17 日
不可否认, 作为一名计算机行业从业者, 不懂得基本理论知识是天大的笑话.
我是一名 C++程序员, 我曾查过各主流编译器与平台对 int 类型长度的定义, 有一位老外做了图表来总结, 简单地说: x86_64 与 IBM power 架构的计算机, int 类型的长度是一致的, 被定义为 32 或 64 位, 与操作系统无关. 该老外引了文献说明, 在上述架构的计算机中, 不可能出现非 32 位或 64 位的 int 类型. 并且, 在上述架构的计算机中, 32 位操作系统的 int 类型一定会被定义为 32 位, 64 位操作系统的 int 类型一定会被定义为 64 位, 不存在例外.
另外, bool 类型的长度在部分 IBM 机型中不等于 char 类型的长度, 而可能是 char 类型的长度的两倍. 这对 IBM 服务器的开发者而言, 是非常重要的.
最后, 为什么 int 类型如此重要? 编程语言与操作系统中存在着约定俗成, 例如, ISO Standard C++就对 int 类型的长度有着一定的要求.
这并不是"知道 int 类型的长度有什么用", 而是: 不知道 int 类型长度的程序员, 或多或少存在着犯错的风险, 这样的风险对公司而言无法忽视.