C++编程:32位机与64位机数据大小

32位机与64位机数据大小


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个字节

我要说几点:
 
我们一把情况下说,在设计关于底层的API的时候,最喜欢使用的就是char类型!
原因很简单,就是,字节是八位,而且,几乎在所有的机器编程里,一个字节是程序员最喜欢接受的最小的存储单位(而不是bit,位实在是太小了,不太实用!)
 
根据上面的数据,我们也知道这么几点:
  • 在32位核64位的计算机里:指针是不一样的,是以位数为基础的
  • long核unsigned long也是不一样的,他是根据机器的最大的字节来算的
原文地址:https://www.cnblogs.com/xujintao/p/7499889.html