acm-bingzi
short和int等一样,是C或C++的一种内部数据类型。用于表示有符号整数。
不同的是,他们在内存中所占的空间大小不同,short通常为int所占一半,也有一些实现为和int一样,但不会比int大。
所占内存空间不同,那么可用表示的整数范围也就不同。
至于具体能表示什么范围,这个问题是体系结构和编译环境相关的。你可以试试以下C++程序
#include <iostream>
using namespace std;

int main()
{
cout<<sizeof(short)<<endl;
cout<<sizeof(int)<<endl;
cout<<sizeof(long)<<endl;
cout<<sizeof(__int64)<<endl;
}
在我的电脑上VC8,编译运行结果是
2
4
4
8
也就是说short占2字节(byte),int和long一样占4字节,__int64占8字节,占字节数越多,所能表示的数的范围越大!
如: 2字节有符号整数 ,即 16位, 范围是 -2^15 ~ 2^16-1 , 2^n表示2的n次方。

C 语言包含的数据类型如下图所示:

在32 位的系统上
short 咔出来的内存大小是2 个byte;

int 咔出来的内存大小是4 个byte;
long 咔出来的内存大小是4 个byte;
float 咔出来的内存大小是4 个byte;
double 咔出来的内存大小是8 个byte;
char 咔出来的内存大小是1 个byte。
(注意这里指一般情况,可能不同的平台还会有所不同,具体平台可以用sizeof 关键字测试一下)

分类:

技术点:

相关文章: