**
C语言数据类型浮点型
**
写博文打卡第二波。今天记下C语言的浮点数据类型。
浮点数据类型:单精度(float)和双精度(double)。两者的原理是一样的。
1. 第一步:如何求解原码、反码、补码
我们以8位计算。
正数的原反补都是一样的,所以只要把十进制转成二进制就行。
如:68 =>
128 64 32 16 8 4 2 1
0 1 0 0 0 1 0 0
通过相减比较【逐一跟64,32…这些数比较,大于相减填1;小于填0,直到结束】的方式得到:01000100
负数:
反码 = 除符号位,其余取反
补码 = 反码+1
如:-45
128 64 32 16 8 4 2 1 【128的位置是符号位,无需 比较】
1 0 1 0 1 1 0 1 原码
1 1 0 1 0 0 1 0 反码
1 1 0 1 0 0 1 1 补码
如:-127
128 64 32 16 8 4 2 1
1 1 1 1 1 1 1 1
1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 1
-128 的补码这么暂时不进行深究。
2、第二步:了解浮点数在计算机中的存储方式、
float 型:4个字节,即有32位。
浮点数的存储方式:符号位 1位+ 阶码[指数位] 8位+ 尾数23