美文网首页
计算机如何存储数据

计算机如何存储数据

作者: D一梦三四年 | 来源:发表于2017-09-25 02:28 被阅读0次

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

    如何存储0和1

    image.png

    内存条中间有一块块方块,每个方块上就有很多存“0”和“1”的机关,可以把一个机关想象成一个圆点,一个圆点就是一个电池,那么就有了下面几个环节
    假设我们每个方块都是一个小电池,当我们要存储时,先选定一列方块,开始每行充电,如果是“1”就充电,是“0”就不充电。由于这样是无法存储电量的,充电的速度是几纳秒,耗电的速度是几毫秒,计算机采取的做法是在耗完电之前再充一次,这里就依赖 CPU 的赫兹数值,CPU 的多少赫兹就代表每秒可以充多少次电,即代表着CPU的性能高低。

    如何存储数字

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

    如何存储字符

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

    ASCII.png

    如何存储中文

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

    GBK.png

    如何存储所有字符

    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,说明是和第一个字节一起的,组成一个字符。

    相关文章

      网友评论

          本文标题:计算机如何存储数据

          本文链接:https://www.haomeiwen.com/subject/gsfrextx.html