前言
各位看官们,不知道你们对我们的数据在电脑中的储存是否了解呢!你可能会说存在内存里啊,那它在内存中是怎样储存的呢?下面,我就讲讲我的理解吧,欢迎指正,补充!
一、数据类型
数据类型想必大家都很熟悉:
这些个类型在内存中开辟的空间是不同的,目的是为了更好地去节省空间,也是限制一些数据的范围。
二、整形在内存中的存储
首先我们看一个数10,它呢是个十进制的数,而我们的计算机它只认二进制,由此我们可以知道整形在内存中是以二进制的形式存在的。而为了更好的在内存中存储就有了原码、反码、补码,这三个东西。
原码:一起10为例,就只要把它转换成二进制就可以了如00000000000000000000000000001010
反码:如果为正数,它就和原码一样,如果为负则除符号位按位取反0-->1,1-->0。
补码:同样,如果为正,它就和原码一样,如果为负则在反码上加一。
而我们这个真正的存储就是以补码的形式。
三、大小端
我们还可以写一个代码来判断我们是什么模式,基本逻辑就是看看数据的值高位在哪,低位在哪。
代码如下:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int check_sys()
{
int a = 1;
return *(char*)&a;
}
int main()
{
if (check_sys() == 1)
printf("小端\n");
else
printf("大端\n");
return 0;
}
总结
OK,这里呢就讲了一下整形在内存中的存储,后面可能还会加入浮点型等,关注博主哦!