C语言进阶 数据的存储(上)

简介: C语言进阶 数据的存储(上)

一、 数据类型详细介绍

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

char 字符数据类型

short 短整型

int 整型

long 长整型

long long 更长的整型

float 单精度浮点型

double 双精度浮点形

类型有什么意义呢?

1 使用这个类型开辟内存空间的大小

比如说 int 4个字节 short 两个字节 char 一个字节

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

这个本文后面会提及

1. 整型家族

char类型

包括 unsigned char signed char

short类型

包括unsigned short signed short

int类型

包括unsigned int signed int

long类型

包括unsigned long signed long

2. 浮点数家族

float

double

3. 构造类型

包括

数组类型

结构体类型struct

枚举类型enum

联合类型union

4. 指针类型

int* p

char *p

float *p

等等

5. 空类型

void表示空类型(无类型)

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

二. 原码 反码 补码

计算机中有整数的三种2进制表示方式 即原码 反码 补码

整数的原码 反码 补码都相同

负数的三种表示方式各不相同

原码

直接将数值按照正负数的形式翻译成二进制就可以得到原码

反码

原码的符号位不变 其他位按位取反

补码

反码加一得到补码

例如

1的原码 反码 补码都是

0000 0000 0000 0000 0000 0000 0000 0001

-1的原码是

1000 0000 0000 0000 0000 0000 0000 0001

反码是

1111 1111 1111 1111 1111 1111 1111 1110

补码是

1111 1111 1111 1111 1111 1111 1111 1111

对于整型数据俩说 计算机中存放的是补码

这样的好处有两个

1 可以将符号位和数值域统一处理

2 cpu只能做加法处理

(大家可以尝试一下1和-1的原码 还有补码相加 运算完就会明白这样设计的精妙之处)

3 原码和反码相互转换 运算过程是相同的

(原码取反加一得到补码 同样的补码取反加一得到原码)

三、大小端字节序介绍及判断

关于大小端的介绍大家可以看我的这一篇文章

大端法和小端法 这里我就不细说了

关于如何判断大小端法,我们可以设计一个函数实现

这样子就可以判断我们机器使用的是大端法还是小端法啦

目录
相关文章
|
2月前
|
C语言
指针进阶(C语言终)
指针进阶(C语言终)
|
10天前
|
存储 C语言
【C语言】C语言-学生成绩管理系统(源码+数据文件+课程论文)【独一无二】
【C语言】C语言-学生成绩管理系统(源码+数据文件+课程论文)【独一无二】
25 15
|
9天前
|
存储 C语言
【C语言】C语言-设备管理系统(源码+数据文件)【独一无二】
【C语言】C语言-设备管理系统(源码+数据文件)【独一无二】
|
10天前
|
存储 小程序 C语言
C语言数据的存储(内含百度笔试题)
C语言数据的存储(内含百度笔试题)
21 4
|
9天前
|
存储 数据可视化 C语言
【C语言】C语言 手机通讯录系统的设计 (源码+数据+论文)【独一无二】
【C语言】C语言 手机通讯录系统的设计 (源码+数据+论文)【独一无二】
|
1月前
|
语音技术 C语言 Windows
语音识别------ffmpeg的使用01,ffmpeg的安装,会做PPT很好,ffmpeg不具备直接使用,只可以操作解码数据,ffmpeg用C语言写的,得学C语言,ffmpeg的安装
语音识别------ffmpeg的使用01,ffmpeg的安装,会做PPT很好,ffmpeg不具备直接使用,只可以操作解码数据,ffmpeg用C语言写的,得学C语言,ffmpeg的安装
|
1月前
|
Linux C语言
【编程小实验】C语言实现:无限循环写入文本文件,支持Ctrl+C中断与数据追加(附完整源码)
在Linux中,文件I/O(输入/输出)是程序与文件进行交互的基本方式,包括读取文件内容和向文件写入数据。这通常通过标准的C库函数来实现,下面是一些基本的文件读写操作和代码示例。
|
1月前
|
存储 编解码 程序员
C语言17---计算机的存储规则
C语言17---计算机的存储规则
|
2月前
|
Java 程序员 Linux
探索C语言宝库:从基础到进阶的干货知识(类型变量+条件循环+函数模块+指针+内存+文件)
探索C语言宝库:从基础到进阶的干货知识(类型变量+条件循环+函数模块+指针+内存+文件)
29 0
|
2月前
|
存储 C语言
【海贼王编程冒险 - C语言海上篇】C语言中的数据类型有哪些?又是如何存储?
【海贼王编程冒险 - C语言海上篇】C语言中的数据类型有哪些?又是如何存储?
20 0