使用哪种数据类型以便以最佳方式存储值

时间:2014-09-16 22:07:36

标签: c++ memory-management initialization

假设我想存储一个正数(不大于10000),我应该使用哪种数据类型,以便为它分配最小内存?

我在某处unsigned short int阅读,unsigned int从0到65,535

我应该使用这个还是简单的int呢?

2 个答案:

答案 0 :(得分:0)

unsigned short将占用signed int的一半内存(2个字节对​​4个字节)。因为处理器通常需要处理整个整数,所以执行可能会稍慢,因为它需要解压缩短路。

在你的情况下,你也可以使用签名的短片,其范围从大约-32K到+ 32K。

答案 1 :(得分:0)

取决于: 假设您要创建一个大小为1000000的数组

int foo[1000000] ={};//4000000 byte
unsigned short foo[1000000]={}; //2000000 byte 
//you save 2 MB of memory

但是

int foo;
unsigned short foo;
//that's two bytes not much really  even when multiplied by a dozen of variables...