[开启C语言秃头之旅]数据类型

本文介绍了C语言中的基本数据类型,包括整型家族(char、short、int、long及无符号、有符号变种)、浮点型(float、double)、构造类型(数组、结构体、枚举、联合)和指针类型。详细阐述了整型在内存中的存储,重点讨论了补码表示法及其在计算中的重要性,并提及了大小端字节序的概念。
摘要由CSDN通过智能技术生成

hello,米娜桑。

学习C语言这么久了,大家应该在脑海中形成系统化的体系了,下面我就跟大家唠唠数据类型。

我们已经学习了基本的内置类型:

char                 //字符数据类型
short                //短整型
int                  //整型
long                 //长整型
long long            //更长整的整型
float                //单精度浮点数
double               //双精度浮点数

类型的意义:

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

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

1.数据类型介绍

1.1类型的基本归类

整型家族:

char 
       unsigned char
       signed char


short                                                 short s1==signed short s1//默认为有符号的,最高位为符号位
       unsigned char[int]                      最高位0表示正数,最高位1表示负数
       signed char[int]                          unsigned short//无符号的,最高位是数据位f


int 
       unsigned int 
       signed int


long 
       unsigned long
       signed long

浮点型家族:

float

double

构造类型:(自定义类型)

数组类型

结构体类型   struct

枚举类型       enum

联合类型       union

指针类型:

int *pi;

char *pc;

float *pf;

void *pv;

空类型:

void表示空类型(无类型)

通常应用于函数的返回类型,函数的参数,指针类型。

2.整型在内存中的存储

2.1原码、反码、补码

计算机中的整数有三种表示方法,即原码、反码和补码。

三种表示方法均有符号位和数值为两部分,符号位都是0表示“正”,而1表示“负”。

正整数的原码、反码、补码相同。

负整数的原码、反码、补码不同。

反码

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

补码

反码+1就得到补码。

使用原码计算是错误的

eg:1+(-1)

1—>00000000000000000000000000000001

-1—>10000000000000000000000000000001

1+(-1)—>10000000000000000000000000000010—>-2

使用补码计算

eg:1+(-1)

1—>00000000000000000000000000000001

-1—>1111111111111111111111111111111111111

1+(-1)—>00000000000000000000000000000000

在计算机系统中,数据一律用补码来表示和存储,原因在于,使用补码,可以将符号位和数值域统一处理;

同时,加法和减法也可以统一处理(CPU只有加法器)此外,补码与原码相互转换,其运算过程是相同的,不需要额外的硬件电路。

所以,对于整型来说:数据存放内存中其实存放的是补码。

2.2大小端字节序存储

大端字节序存储:把一个数据低位字节处的数据存放在高地处,把高位字节处的数据存放在地址处。

小端字节序存储:把一个数据的低位字节处的数据存放在低地址处,把高位字节处的数据存放在高地址处。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值