c++基本数据类型

c++作为c的超集,除了引入了class类型外,其基本数据类型和c基本一致:

c++基本数据类型_第1张图片
c数据结构

各种基本数据类型的大小、范围和精度如下:

类型 大小(字节) 范围 精度
char 1 -128 ~ +127 1
unsigned char 1 0 ~ 255 1
short 2 -32767 ~ + 32768 1
unsigned short 2 0 ~ 65536 1
int 4 -2147483648 ~ +2147483647 1
unsigned int 4 0 ~ 4294967295 1
long 4 -2147483648 ~ +2147483647 1
unsigned long 4 0 ~ 4294967295 1
long long 8 -9223372036854775808 ~ +9223372036854775807 1
unsigned long long 8 0 ~ 1844674407370955161 1
float 4 -3.40e38 ~ +3.40e38 1e-7
double 8 -1.79e308 ~ +1.79e308 1e-16

note

  1. 以上数据类型的大小和精度定义在climits和limits文件中;
  2. long在32位系统下大小为4字节,在64位系统下大小为8字节。其他数据类型的大小一样;
  3. scanf中%f代表float, %lf代表double;printf中%f和%lf都可以代表float和double,因为float和double都会被转换成8字节的double。可以使用%m.nf控制float或者double的输入\输出精度。long long的格式控制符为%lld;
  4. float和double的字节分布如下:
类型 符号位(bits) 指数位(bits) 尾数位(bits)
float 1 8 23
double 1 11 52

float和double的计算方式为:1.尾数*2^(指数位-1)

你可能感兴趣的:(c++基本数据类型)