值类型的取值范围
32位CPU
类型 | 说明符 | 字节 | 数值范围 |
字符型 | char | 2 | |
基本整型 | int | 4 | |
短整型 | short int | 2 | |
长整型 | long int | 4 | |
无符号型 | unsigned | ||
单精度实型 | float | 4 | |
双精度实型 | double | 8 | |
字节 | unsigned char | 1 | |
int 0xfffffff -- 32位 其中一个字节要表示正负 所以 0xffffffff 是不行的
c 的 char 每个字节是以ascii顺序储存的。
移位运算 OR 字节相连时把他们转换为同一类型 再算 这样不易出错
float : 1bit(符号位) 8bits(指数位) 23bits(尾数位)
可表示的精度为 2^23 7位
int : 1bit(符号位)31bits(尾数位)
可表示精度为:2^31
float 数据类型
2^128:2*2*2... 乘128次
2^128 = 3.4028236692094 * 10 38
2的128次方 = 3.4e38
float能表示的数据范围:-3.4e38f~+3.4e38f
-2^1024 ~ +2^1024
double的范围为,也即-1.79e308 ~ +1.79e308
--------------------------------------------------------------2014.10.21
float : 1bit(符号位) 8bits(指数位) 23bits(尾数位)
可表示的精度为 2^23 7位
cpp 1.f 常数float