C++:基础篇-32位和64位系统区别及字节数

今儿面试了一个刚刚毕业的,但是不知道一个int、long、double这几个都是多少位,我给你们总结一下哈:

常用数据类型对应字节数
  可用如sizeof(char),sizeof(char*)等得出

 32位编译器:

      char :1个字节
      char*(即指针变量): 4个字节(32位的寻址空间是2^32, 即32个bit,也就是4个字节。同理64位编译器)
      short int : 2个字节
      int:  4个字节
      unsigned int : 4个字节
      float:  4个字节
      double:   8个字节
      long:   4个字节
      long long:  8个字节
      unsigned long:  4个字节

  64位编译器:

      char :1个字节
      char*(即指针变量): 8个字节
      short int : 2个字节
      int:  4个字节
      unsigned int : 4个字节
      float:  4个字节
      double:   8个字节
      long:   8个字节
      long long:  8个字节
      unsigned long:  8个字节

32位机器下面的结果 

数据类型 说明 字节数 取值范围
bool 布尔型 1 true,false
char 字符型 1 -128~127
unsigned char 无符号字符型 1 0~255
short 短整型 2 -32768~32767
unsigned short 无符号短整型 2 0~65535
int 整型 4 -2147483648~2147483647
unsigned 无符号整型 4 0~4294967295
long 长整型 4 -2147483648~2147483647
unsigned long 无符号长整型 4 0~4294967295
float 单精度型 4 -3.4×10-38~3.4×10-38
double 双精度型 8 -1.7×10-308~1.7×10-308
long double 长双精度型 8 -1.7×10-308~1.7×10-308
 
 
原文地址:https://www.cnblogs.com/alexhg/p/6518626.html