在性能方面,几乎在所有情况下int都更快。cpu被设计为以32位值有效工作。
较短的值很难处理。例如,要读取单个字节,cpu必须读取包含该字节的32位块,然后屏蔽掉高24位。
要写入一个字节,它必须读取目标32位块,用所需的字节值覆盖低8位,然后再次写回整个32位块。
当然,从空间角度来看,您可以使用较小的数据类型节省一些字节。因此,如果您要构建一个包含几百万行的表,那么较短的数据类型可能值得考虑。(这也许是为什么应该在数据库中使用较小的数据类型的一个很好的理由)
从正确性上讲,int不会轻易溢出。如果您 认为 您的值将适合一个字节,然后在将来的某个时候对代码进行一些无害的更改,意味着将更大的值存储在其中,该怎么办?
这些就是为什么int应该是所有整数数据的默认数据类型的一些原因。仅当您实际要存储机器字节时才使用字节。仅在处理实际指定16位整数值的文件格式或协议或类似格式时,才使用短裤。如果您通常只处理整数,则将它们设置为整数。