前言:
期末临近,继续复习!
今天要复习的内容是数据在内存中的存储,主要是整型与浮点两种,还有大小端的介绍。
提出问题

打印结果是255 -1
为什么?
首先我们要知道数据都是以二进制的形式存储于计算机中的,而不同的类型在不同平台下占用的空间大小也不一样,具体可看下图

数据来源http://t.csdnimg.cn/2gnJv
在此基础上我们还要知道整数默认是4个字节,小数是8个字节
整数在内存中以补码形式存在
-1:11111111 11111111 11111111 11111111
把-1赋值给char类型的a,会发生截断,之后后八位被存进去了
a:11111111
同理,b:11111111
在打印的时候是以%d打印的,因此a,b要发生整形提升,a作为无符号数提升后为00000000 00000000 00000000 11111111
b作为有符号数变为11111111 11111111 11111111 11111111
这些都是补码,被读取后一个数255,一个是-1
在此基础上我们对char进一步分析,他可以存的数有以下这些

对于有符号char来说他的范围是-128到127
对于无符号char来说它的范围是0到255,都是存了256个不同的数,而且当你存的数字超过他的范围时,就会开始循环了如下图所示

举个例子,对于无符号数255,他的补码是11111111
那么你存一个无符号256此时存进去的就是00000000,每次循环就是256个数,具体顺序就是上图。




![[VUE]5-TypeScript](https://img-blog.csdnimg.cn/img_convert/c81551dce2a681abe5b34eea946a94cd.png)




![[ffmpeg系列 03] 文件、流地址(视频)解码为YUV](https://img-blog.csdnimg.cn/direct/edd81620276b46dca8dc4a00f1470abd.png)









