C++ 数据类型所占字节大小


对于指针类型,因为指针指向的是一个地址,32位操作系统就是4字节。64位操作系统那就是8字节了。

int这个类型占操作系统一个内存单元大小。早先16位操作系统一个内存单元是16位,所以是2个字节;32位系统一个内存单元是是32位,所以是4字节;64位操作系统,4字节。
整形加unsigned (short,int,long,long long)字节长度不变

(1)16位编译器

char         1个字节8位 
short        2个字节16位 
int                      2个字节16位 
long                   4个字节32位
long long:           8个字节
指针                   2个字节16位 

float:                  4个字节
double:              8个字节

char :              1个字节


(2)32位平台  
char         1个字节8位 
short        2个字节16位 
int             4个字节32位 
long         4个字节32位
long long    8个字节64位  
指针         4个字节32位 

float:  4个字节
double:   8个字节

(3)64位平台  
char     1个字节 
short     2个字节
 int                 4个字节  
long             8个字节(区别) 
long long    8个字节  
指针             8个字节(区别)

float:  4个字节

double:   8个字节


所以int,long int,short int的宽度都可能随编译器而异。但有几条铁定的原则(ANSI/ISO制订的):

  • sizeof(short)<=sizeof(int)

  • sizeof(int)<=sizeof(long)

  • short 至少应为16位(2字节)。

  • long 至少应为32位(4字节),至少与int一样长。





位与字节
计算机内存的基本单元是位(bit)。
字节(byte)通常指8位的内存单元,指的是描述家算计内存存量的度量单位,1kB=1024字节,1MB=1024KB。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值