# 1.整型数据
分为bool, char, short, int, long, long long【有符号】,前面加unsigned即有其对应的无符号整型类型数据
标准:
- short至少16位
- int至少与short一样长
- long至少32位,且至少与int一样长
- long long至少64位,且至少与long一样长
对于整型常量:
除非有显示标志,如l/L,ll/LL,或者值太大,不能储存为int,C++将整型数据常量储存为int。
# 2.浮点型数据
分为float,double, long double
标准:
- float至少为32位
- double至少为48位,且不能少于float
- long double至少和double一样多
除非有显示标志f,C++将浮点数据默认存储为double数据类型。
浮点数据类型的精度:
一般系统中float为32位,其中sign 1bit, exponent 8 bits, fraction部分 23bits
float:
sign | exponet | fraction |
float的精度为int{ log(2^23) } = 6,意思是float只能准确表示6位有效位(与小数点无关)
double精度为int{ log(2^52) } = 6
sign | exponet | fraction | |||||
1 | 11 | 52 |