假设我想存储一个正数(不大于10000),我应该使用哪种数据类型,以便为它分配最小内存?
我在某处unsigned short int
阅读,unsigned int
从0到65,535
我应该使用这个还是简单的int
呢?
答案 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...