引言:在我们刚接触编程时,大家是否好奇我们输入的数据都是如何储存在计算机中的呢,今天我们就来一探究竟。
目录
一、数据类型的介绍
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
双精度浮点数存储模型:
对于如何在里面存储我们看一张详解图: