今天,让我来给大家分享一篇关于数据的存储相关的知识点。
什么是数据的存储?简而言之,就是数据在內存中的存储形式。
本次内容大致分为:
一、数据类型的详细介绍
1.类型的基本归类
整型家族:(默认window系统,32位机下)
(1)char:signed char [1 byte],unsigned char [1 byte]
(2)short:signed short (int) [2 byte],unsigned short (int) [2 byte]
(3)int:signed int [4 byte],unsigned int [4 byte]
(4)long:signed long (int) [4 byte],unsigned long (int) [4 byte]
(5)long long:signed long long (int) [8 byte],unsigned long long (int) [8 byte]
补充:1 byte = 8 bit
浮点型家族:(默认window系统,32位机下)
(1)单精度:float [4 byte]
(2)双精度:double [8 byte]
以上为C语言的内置数据类型。
构造类型:
(1)数组类型
(2)结构体类型:struct
(3)枚举类型:enum
(4)联合类型:union
指针类型:(默认window系统,32位机下)
char*,void*,int*,float*......[4 byte]
空类型:
void:表示空类型(无类型),通常用于函数的返回类型,函数的参数,指针类型。
二、整型在内存中的存储
整数表示的范围:limit.h中定义
整数有三种表示方式,原码、反码、补码。
1.原码、反码、补码
原码:直接按照正负数的形式翻译成二进制就可以。
反码:原码基础上符号位不变,其余位按位取反。
补码:反码基础上加1。
规定:
(1)对于整型来说,数据实际存储到内存的是补码。
(2)这三种表示方式均有符号位和数值位(有效位)组成,符号位用0表示正数,用1表示负数。
(3)正整数原反补相同,负整数原反补不相同,需要计算。
扩展:为什么存储到內存的是补码??
在计算机系统中,数值一律用补码形式存储,原因在于,使用补码,可以将符号位和数值域统一处理,同时,加法和减法也可以统一处理(CPU只有加法处理器)。此外,补码和原码相互转换,其运算过程是相同的,不需要额外的硬件电路。
2.大小端介绍
观察下面照片,內存中存储的数据顺序是不是不对劲?
大端(字节)存储模式:是指数据的低位保存在内存的高地址处,而数据的高位保存在内存的低地址中。
小端(字节)存