C/C++固定位宽类型

int一定是32bit吗?不一定

实际上,C/C++标准规定int的位宽不少于16bit

作为一门古老的语言,C语言历经了各种各样的操作系统,小型的、大型的、内存小的、资源极其有限的,等等。对于同一个数据类型,在不同的操作系统上,其长度是不一定的,见下表。

c/c++标准

LP32系统

(例如32bit win16API)

ILP32系统

(例如32bit unix/linux/mac/win32API)

LLP64系统

(例如win64API)

LP64

(例如64bit unix/linux/mac)

short、unsigned short至少16bit161616
int、unsigned int至少16bit163232
long、unsigned long至少32bit323264
long long、unsigned long long至少64bit646464

所以,为了程序的可移植性,建议使用<cstdint>中的固定位宽类型:
int8_t/uint8_t/int16_t/uint16_t/int32_t/uint32_t/int64_t/uint64_t

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值