(c语言进阶)数据存储——浮点型存储

一.常见的浮点数

(c语言进阶)数据存储——浮点型存储_第1张图片

 二.浮点数存储规则

(c语言进阶)数据存储——浮点型存储_第2张图片1.float存储规定  

(c语言进阶)数据存储——浮点型存储_第3张图片

                                       2.double存储规定 

(c语言进阶)数据存储——浮点型存储_第4张图片

3.M的存储规则 

(c语言进阶)数据存储——浮点型存储_第5张图片

4.E的存储规则 

(c语言进阶)数据存储——浮点型存储_第6张图片

(c语言进阶)数据存储——浮点型存储_第7张图片

 5.指数E从内存中取出的三种情况

(1)E不全为0或不全为1

(2)E全为0 

(c语言进阶)数据存储——浮点型存储_第8张图片

(3)E全为1 

 三.举例

1.经典案例 

 输出结果:9,0.000000, 1091567616,9.000000

#include
int main()
{
    int n = 9;
//00000000 00000000 00000000 00001001——int*(9)
    float* pFloat = (float*)&n;
//0 00000000 00000000000000000001001——float*(9)
    printf("n的值为:%d\n",n);//9

    printf("*pFloat的值为:%f\n",*pFloat);
//E全为0,输出为一个极小值0
    *pFloat = 9.0;
//1.001*2^3
//0 10000010 00100000000000000000000——float*=9.0
//01000001 00010000 00000000 00000000——int*=1,091,567,616

    printf("num的值为:%d\n",n); 
    printf("*pFloat的值为:%f\n",*pFloat);
    return 0;
}

2.例子 

(1)例一

(c语言进阶)数据存储——浮点型存储_第9张图片

(2)例二(c语言进阶)数据存储——浮点型存储_第10张图片

 (3)例三

 (c语言进阶)数据存储——浮点型存储_第11张图片

你可能感兴趣的:(c语言,c语言,算法,数据结构)