计算机是如何储存数据的

96
饥人谷_张良
2017.12.08 00:31* 字数 1011

————转载——原作者:D一梦三四年

本文目录:

1.如何存储0和1

2.如何存储数字

3.如何存储字母

4.如何存储汉字

5.如何利用更少的空间存储更多字符


1.如何存储0和1

在计算机中所有的数据都被存储为一连串的二进制信息(0和1)

内存条中间有一块块方块,每个方块上就有很多存“0”和“1”的机关,可以把一个机关想象成一个圆点,一个圆点就是一个电池,那么就有了下面几个环节

假设我们每个方块都是一个小电池,当我们要存储时,先选定一列方块,开始每行充电,如果是“1”就充电,是“0”就不充电。由于这样是无法存储电量的,充电的速度是几纳秒,耗电的速度是几毫秒,计算机采取的做法是在耗完电之前再充一次,这里就依赖 CPU 的赫兹数值,CPU 的多少赫兹就代表每秒可以充多少次电,即代表着CPU的性能高低。

2.如何存储数字

我们平时所说的数值一般都是进制的,但计算机只能存储0和1,所以需要将10进制的数转为二进制让计算机进行储存。但也有一些特殊情况,如果想存 -3 就需要使用补码(计算机无法存储负号);如果想存 0.75 就需要使用浮点数(计算机无法存储小数点)。

3.如何存储字符

字符存储和数字的存储有着相似的过程,通过ASCII表,我们可以查询到字符对应的二进制数。

ASCII.png

4.如何存储中文

和存储字符类似,中文也有对应的CODE值来进行存储,将16进制的CODE值转为二进制,计算机就可以存储了。详见GBK表

GBK.png

5.如何利用更少的空间存储更多字符

Unicode:是计算机科学领域里的一项业界标准。它对世界上大部分文字系统进行了整理、编码,使得电脑可以用更为简单的方式来呈现和处理文字。

如何将 Unicode 存储到计算机中

Unicode 需要使用 32 位(4字节)来存储字符,他的存储方式如下

//低性价比

a -> 0000 0000 0000 0000 0000 0000 0110 0001 = 0061

你 -> 0000 0000 0000 0000 0100 1111 0110 0000 = 4F60

由于其表示简单的字符时也使用4个字节,浪费了很多资源,为提高效率,人们开始使用UTF-8,UTF-8是Unicode存到计算机的一种编码方式,它不是字符集,它可以用来表示Unicode标准中的任何字符。

//高性价比

a -> 01100001

你 -> 11100100 10111101 10100000

像“a”这种较短的字符(小于七位的),我们可以直接在前面补零表示

像“你”这种长的字符,由于计算机读取时无法弄清楚是存储了一个 由两个一字节组成的字符还是一个由两字节组成的字符,解决步骤:

我们从高位依次划分6个字符进行分组,直到分出的组不足6个。即:0100 111101 100000

分别在每一组前面补全读取这一串二进制信息的规则,即:11100100 10111101 10100000

1110+0100:111表示计算机需要读取3个字节,每个字节的开头都是10,10+111101、10+100000: 所以后两个分组的开头也补上10,说明是和第一个字节一起的,组成一个字符。

日记本
Gupao