首页 > 代码库 > 算术类型&确定编译环境的位数

算术类型&确定编译环境的位数

算术类型:

  1. 整型(integral type)
    1. char : 一个机器字节(1BYTE = 8BIT)
    2. bool: 1 BIT
    3. 整型:
      1.   int: 与编译环境相关(不是机器),32位的编辑环境则长度为32BIT,故可以使用sizeof(int)来得到编译器环境的位数(返回的是字节长度)
      2. short/long/long long: 根据不同的编译环境而定。一般而言,sizeof(short)<=sizeof(int)<=sizeof(long)<=sizeof(long long)
  2. 浮点型:根据编译器而定
    1. float: 1 Word ( = 4 BYTE = 32 BIT )
    2. double: 2 Word
    3. long double: 3-4 Word

 

不用sizeof()计算编译环境位数.

?
1
2
3
int a = 0;
int *p = &a;
cout<<(char*)(p+1)-(char*)(p)<<endl;

  32BIT 的编译环境返回4BYTE

sizeof()的特性分析:

http://www.cppblog.com/yearner/archive/2006/09/11/12307.html

http://blog.csdn.net/w57w57w57/article/details/6626840