深度剖析数据在内存中的存储-初了解

数据类型介绍


char        //字符数据类型
short      //短整型
int        //整形
long        //长整型
longlong  //更长的整形
float      //单精度浮点数
double      //双精度浮点数
//C语言有没有字符串类型?->没有
复制代码


类型的意义:

1.使用这个类型开辟内存空间的大小(大小决定了使用范围)。

2.如何看待内存空间的视角。




类型的基本归类:

整形家族:


char
unsignedchar
signedchar
short
unsignedshort [int]
signedshort [int]
int
unsignedint
signedint
long
unsignedlong [int]
signedlong [int]
复制代码


浮点数家族:

float
double
复制代码


构造类型:

>数组类型
>结构体类型struct
>枚举类型enum
>联合类型union
复制代码


指针类型

int*pi;
char*pc;
float*pf;
void*pv;
复制代码


空类型:

void表示空类型(无类型)
通常应用于函数的返回类型、函数的参数、指针类型。
复制代码


原码反码补码的概念

计算机中的有符号数有三种表示方法,即原码、反码和补码。 三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”,而数值位三种表示方法各不相同。



原码

直接将二进制按照正负数的形式翻译成二进制就可以。


反码

将原码的符号位不变,其他位依次按位取反就可以得到了。


补码

反码+1就得到补码。



正负数的计算规则是不相同的


正数的原、反、补码都相同。 对于整形来说:数据存放内存中其实存放的是补码。



为什么内存中存放的都是补码


为什么呢? 在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理;同 时,加法和减法也可以统一处理(CPU只有加法器)此外,补码与原码相互转换,其运算过程是相同的,不需 要额外的硬件电路。

上一篇:操作符这块,你可得把握住(上)


下一篇:你想知道的数组易错知识都在这了-C