读书人

为什么C标准不定死整数类型的大小?解

发布时间: 2012-04-22 18:34:46 作者: rapoo

为什么C标准不定死整数类型的大小?
比如定死short是16位,int是32位,long是64位,而不是像现在这样,XX类型保证至少有XX位?

[解决办法]
与c产生的背景有关吧!不过在java中是对其限定死的。
[解决办法]
因为咱们的程序是最灵活的,呵呵呵
[解决办法]
因为C语言要用于在4、8、16、32、64位的CPU系统上开发。
[解决办法]
茫茫多千奇百怪的系统需要c语言
[解决办法]
因为C语言具有很高的通用性,有可能你的CPU是8位的嵌入式CPU,也可能是32或64位的……

不同的CPU对不同长度的整型值处理时间是不一样的。为了相同的代码在不同的CPU上运行都具有较高的效率,因此对int的长度不做规定。

int的一般是当前目标CPU上运算最快的整数长度~
[解决办法]
标准要放之四海皆准

硬件的标准太多
[解决办法]
有专门的typedef可用
int32_t int16_t
[解决办法]
因为C语言具有很高的通用性,有可能你的CPU是8位的嵌入式CPU,也可能是32或64位的……

不同的CPU对不同长度的整型值处理时间是不一样的。为了相同的代码在不同的CPU上运行都具有较高的效率,因此对int的长度不做规定。

读书人网 >C语言

热点推荐