c语言与java中原始数据类型在内存中的占位

本文详细对比了C/C++及Java在32位与64位平台上各种数据类型的内存占用大小及其取值范围,包括整型、浮点型等,并分析了不同平台间的差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

c语言(c,c++)
(一)32位平台: 
分为有符号型与无符号型。 
有符号型: 
short 在内存中占两个字节,范围为-2^15~(2^15-1) 
int 在内存中占四个字节,范围为-2^31~(2^31-1) 
long在内存中占四个字节,范围为-2^31~2^31-1 
long long 8个字节
无符号型:最高位不表示符号位 
unsigned short 在内存中占两个字节,范围为0~2^16-1 
unsigned int 在内存中占四个字节,范围为0~2^32-1 
unsigned long在内存中占四个字节,范围为0~2^32-1 
实型变量: 
分单精度 float 和双精度 double 两种形式: 
float:占四个字节,提供7~8位有效数字。 
double: 占八个字节,提供15~16位有效数字。


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

总结:不同平台只有long长度不一样。


java(不分32位,64位,似乎是因为java是运行在jvm中的原因)
int    32位
short 16位
long 64位整数
char 16位字符(因为要支持Unicode码,c是支持ascii码)
byte 8位整数
float 32位单精度实数

double 64位双精度实数

总结:与c不同的只有char类型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值