大家好,这篇文章我来为大家简单的讲一下数据在内存中的存储。
数据类型介绍
想必有一点基础的都知道我们数据类型平常基本使用的有:
int(整形)、float(单精度浮点型)、char(字符型)
当然还有一些可能出现的没有那么频繁的类型:
short(短整型)、long(长整型)、long long(更长整型)、
double(双精度浮点型)
在windows中各类型数据所占空间大小如下图所示:
一、类型的基本归类
整型家族
char:
unsigned char(无符号字符型)
signed char(有符号字符型)
short:
unsigned short
signed short
int:
unsigned int
signed int
long:
unsigned long
signed long
至于为什么char是整型的,可以解释为计算机在存储时是用的2进制存储,在计算时系统会首先会将char型数据以隐形的方式转化成int型数据再进行相加减运算,所以,从存储方面来看,字符可以划分为整型。
浮点型家族
float
double
构造类型
数组类型
结构体类型 struct
枚举类型 enum
联合类型 union
指针类型
int *pi;
char *pc;
float* pf;
void* pv;
空类型void通常应用于函数的返回类型、函数的参数、指针类型,当作为指针类型时不能直接使用,若定义后解引用需强制转换。
二、整形在内存中的存储
1.原码、反码、补码
计算机中的整数有三种2进制表示方法,即原码、反码和补码。
三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”,而数值位 正数的原、反、补码都相同。负整数的三种表示方法各不相同。
原码 直接将数值按照正负数的形式翻译成二进制就可以得到原码。
反码 将原码的符号位不变,其他位依次按位取反就可以得到反码。
补码 反码+1就得到补码。
在计算机系统中,数值一律用补码来表示和存储。
并且在运算时也是使用的补码。
2.大小端介绍
什么大小端
大端(存储)模式,是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址 中;
小端(存储)模式,是指数据的低位保存在内存的低地址中,而数据的高位,,保存在内存的高地 址中。
单看文字可能看不懂,我们上图
可以看见我们的a变量存储的地址里面存放的是01000000
但是我们将10转化为16进制时时00000001
那么左边的就可以称为小端存储,右边的就是大端存储 。
总结
这一篇简单的介绍了一下数据的存储中的整型的存储,文中有多方面还未涉及,如果你对这方面颇有兴趣可以查阅一下资料深入了解一下。
若文中有内容存在不妥或错误欢迎指正与批评
感谢每一位观看本篇文章的朋友
若文章内容存在侵权请联系修改删除