数据的内存存储(详解)

引言:在我们刚接触编程时,大家是否好奇我们输入的数据都是如何储存在计算机中的呢,今天我们就来一探究竟。


目录

一、数据类型的介绍

二、大小端的介绍

三、 数据的存储

四、浮点型数的存储


一、数据类型的介绍

1、

2、 

3、

二、大小端的介绍

大端字节序存储:

把一个数据的低位字节处的数据存放在内存的高地址处,把高位字节处的数据存放在内存的低地址处 

小端字节序存储:

把一个数据的高位字节处的数据存放在内存的高地址处,把低位字节处的数据存放在内存的低地址处

三、 数据的存储

我们以char类型为例:

扫描二维码关注公众号,回复: 16802624 查看本文章

由char类型可以推出所有整形家族的存储方式:

 我们如果在代码中想要看到这一现象:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<windows.h>
int main()
{
    unsigned int i ;
    for ( i = 9; i >= 0; i--) {
        printf("%u\n", i);
        Sleep(1000);
    }
    return 0;
}


                                              我们可以看到在面对无符号整形的时候,当循环进行到0的时候 ,并没有跳出循环而是继续进行,根据刚刚的图解,我们可以理解0-1后即是int类型所能存储的最大的数(也就是二进制中32位都为1的数)

四、浮点型数的存储

 浮点数家族:float、double、long double类型

IEEE 754规定:

对于32位的浮点数最高的1位是符号位S,接下来的8位是指数E,剩下的23位是有效数字M

单精度浮点数存储模型:

对于64位的浮点数最高的1位是符号位S,接下来的11位是指数E,剩下的52位是有效数字M 

双精度浮点数存储模型:

 对于如何在里面存储我们看一张详解图:

 总结:相信大家看完这篇文章后一定对于数据在内存中的如何存储会有新的认识,当然也十分感谢大家的观看!!!

猜你喜欢

转载自blog.csdn.net/2301_77125473/article/details/132151424