C++基础数据类型内存大小与取值范围(32/64位通用标准)

1. 整型

类型 字节 取值范围
char 1 -128 ~ 127(有符号);0 ~ 255(unsigned char)
short 2 -32768 ~ 32767;unsigned:0 ~ 65535
int 4 -2147483648 ~ 2147483647;unsigned:0 ~ 4294967295
long 4(32位)/8(64位) 同int(32位);±9e18(64位long)
long long 8 -9223372036854775808 ~ 9223372036854775807

2. 浮点型

类型 字节 精度 范围
float 4 6~7位小数 ±3.4×10⁻³⁸ ~ ±3.4×10³⁸
double 8 15~16位小数 ±1.7×10⁻³⁰⁸ ~ ±1.7×10³⁰⁸
long double 8/16 更高精度 大于double

3. 特殊类型

  • bool:1字节,只有 true(1) / false(0)
  • void:无内存,无取值,仅作占位

补充要点

  1. 大小规则:char ≤ short ≤ int ≤ long ≤ long long,不同编译器略有差异;
  2. 无符号类型只有正数,上限翻倍;
  3. 浮点存在精度丢失,不要直接用==判断相等。

配套标题(给你整理好)

  1. C++数据类型内存大小与取值范围速查表
  2. C++基础类型字节、范围完整总结
  3. 一文看懂C++各数据类型占用内存

更多推荐