可能重复:
Performance of built-in types : char vs short vs int vs. float vs. double
您好。假设您拥有 32位处理器。 8位char
和16位short int
类型是否比原生32位int
慢?
那么使用64位long long int
?
默认情况下硬件是否支持这种数据类型,或者通过使用其他指令将它们全部转换为32位数据?
如果我必须存储少量字符,将它们存储为整数是不是更快?
答案 0 :(得分:4)
在任何现代实用的机器上,char
,int
和long
都会很快(可能同样快)。 short
是否快速在cpu体系结构与单个体系结构中的不同cpu模型之间有所不同。
话虽如此,无论速度如何,单个变量都使用小型是没有充分理由的。他们的语义令人困惑(由于int
的默认促销),他们不会为你节省大量空间(甚至可能没有任何空间)。我唯一一次使用char
,short
,int8_t
,int16_t
等等的数组或结构必须与您所在的固定二进制布局相匹配会有这么多(例如像素或音频样本),每个人的大小实际上很重要。
答案 1 :(得分:0)
它取决于指令集和编译器中的操作。