天天看点

C语言之数据类型---内存、补码、数据转化!一,内存

一,内存

C语言之数据类型---内存、补码、数据转化!一,内存

1,内存的最小单位是“位”(bit),但编址的最小单位为“字节”(Byte)。

2,逻辑上的存储可以是多维的,例如多维数组,但实际的存储都是线性的、一维的。

二,补码

1,规则

C语言之数据类型---内存、补码、数据转化!一,内存

注:其运算规则是可逆的。

  • 0的补码为0
  • 符号位同普通位一并参与运算
  • 补码可以使加减乘除全部变加法

2,char(8位)补码的展示

C语言之数据类型---内存、补码、数据转化!一,内存

3,数据类型

1,整型

char

short

int

long long

2,浮点型

float

double

long double

3,构造类型

数组

结构体 struct

共用体 union

枚举类型 enum

指针类型 *

4,空类型 void

4,类型的意义

数据类型提供了“申请内存单元大小”和“访问内存单元”的规则。数据类型是假设在线性内存上的一种逻辑关系!

5,类型转化

  1. 小转大:符号扩充

小范围空间数据,赋给大范围空间的数据,系统为了保证数据的完整性,采用“符号扩充”的机制——若小范围空间数据为有符号类型,则扩充符号位;若小范围数据为无符号类型,则扩充0。

C语言之数据类型---内存、补码、数据转化!一,内存
C语言之数据类型---内存、补码、数据转化!一,内存
C语言之数据类型---内存、补码、数据转化!一,内存

2,大转小:截断(Truncate)

大范围数据转化为小范围数据,会发生“截断”,截断过程可能会发生数据丢失。

C语言之数据类型---内存、补码、数据转化!一,内存

继续阅读