数据类型对应的字节数

1、32位和64位CPU

CPU一次处理数据的能力都是2的倍数,所以有8位、16位、32位、64位CPU。

(1) 64位CPU拥有更大的寻址能力,最大支持到16GB内存,而32位CPU只支持4G内存。
(2) 64位CPU一次可提取64位数据,比32位提高了一倍,理论上性能会提升1倍。

2、程序运行平台

平台是由 CPU+OS+Compiler 构成,因为:

  1. 64位CPU上可以运行32位OS。例如,x64 CPU上运行Windows XP。
  2. 32位OS上可以有16/32位编译器。例如,Windows XP上TC是16位,其它常见编译器是32位。
  3. 32位编译器也可以弄出64位整数,例如 int64。

三者的长度可以不一样,但需要相互配合(长度相等)才能发挥最大能量。
例如,64位CPU要想发挥最大性能,需要使用64位操作系统和64位软件。

最大支持内存和操作系统有直接关系。
64位CPU使用32位操作系统,支持的内存也最多为2的32次方,即4G。
64位操作系统的寻址能力是2的64次方,这是理论值,实际不可能用到这么大的内存,目前Windows 64位系统最大只支持128G,而当前主流主板只能支持16G。

3、数据类型对应的字节数

理论上说,数据类型的字节数应该是由CPU决定的,但实际上,主要由编译器决定,占多少位由编译器在编译期间决定。不同的平台上对不同数据类型分配的字节数是不同的。

下表列出了各种数据类型对应的字节数,可用sizeof()得出,例如 sizeof(char), sizeof(char*) 。

数据类型32位编译器64位编译器
char *48
char11
short22
int44
long48
long long88
float44
double88
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值