int int_32t int_64t等"精确宽度类型如何理解" ?

本文详细对比了32位与64位平台下各种数据类型的字节大小,包括char、short、int、long、long long、float、double及指针,并讨论了long类型在不同平台的不通用性,建议使用固定大小的数据类型宏定义以增强程序的跨平台能力。

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

转载自http://blog.sina.com.cn/s/blog_4b9eab320100sdex.html

32位平台:

char  1个字节8位

short  2个字节

int    4个字节

long   4个字节

long long   8个字节

float   4个字节

double    8个字节

指针    4个字节

64位平台:

char   1个字节

short   2个字节

int     4个字节

long 8个字节

long long   8个字节

float   4个字节

double   8个字节

指针  8个字节

因为long在不同的平台所占用的字节数不一样,为了保证平台的通用性,程序中尽量不要使用long数据库型。可以使用固定大小的数据类型宏定义:

还有一个原因就是:

在不同位宽的芯片中,比如8bit的芯片, 在表示8bit的数据时,总不能用char来表示吧 ,因此会重定义数据类型int_8t。

在16bit的芯片中也是同样的道理,变量用short int来表示不合适,因此需要重定义数据类型typedef short int  int_16t;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值