浮点数
拓展
//0.2 + 0.1 不等于 0.3
double e = 0.2 + 0.1;
double f = 0.3;
printf(".18%lf",e);
printf(".18%lf",f);
//拓展了取值范围(与int同为4字节) 代价:牺牲精度
可以看到e和f的值在高精度后产生了差别

进制转换
- 二进制
- 二进制由0 1 两个数字组成,使用时以0B开头
- 十进制转换二进制:权位值法
- 二进制由0 1 两个数字组成,使用时以0B开头
- 八进制
- 使用时以0开头
- 十六进制
- 由1 ~ 9 和 a ~ f 组成,使用时以0x开头
权位值法
- 十进制转二进制 将数字按权位值拆解
// 例如有值为149
149 = 128 + 16 + 4 + 1
1 0 0 1 0 1 0 1
//转换为的二进制数就为 1001 0101
- 二进制转十进制 将数字按权位相加
// 例如有二进制数为 1100 1001
1 1 0 0 1 0 0 1
128 64 32 16 8 4 2 1 0
128 + 64 + 8 + 1 = 201
//转换为的十进制数就为 201
- 二进制转八进制
- 每三位二进制转为一位八进制
// 例如有二进制数为 1100 1001
011 001 001
3 1 1
//转换为的八进制数为 0311
- 八进制转二进制
- 每位二进制转为三位八进制
// 例如有八进制数为0146
1 4 6
001 011 110
//转为的二进制数为 0101 1110
- 二进制转十六进制
- 类似于八进制,但是按照每四位二进制为一组分配
Comments NOTHING