计算机如何存储数据

编程基础

1.硬件与软件:计算机的运行原理《编码》

2.最大的软件:操作系统 维基百科

3.自己写软件:数据结构&算法《数据结构与算法分析》 掌握排序算法非常必要

4.多人写软件:软件工程代码大全

层次结构

  • 操作系统运行于硬件之上

  • 浏览器运行于操作系统之上

  • HTML/CSS/JS运行于浏览器之上

  • HTML/CSS/JS和数据都来自于服务器

三层依赖关系

  • HTML+CSS+JS依赖浏览器

  • 浏览器依赖操作系统

  • 操作系统依赖硬件

计算机存储

计算机是采用二进制存储方式,即只能存储0和1。所以计算机里所有的数据都是一串由0和1组成的二进制信息,那计算机是如何存储0和1呢?如何将各种数据转化成二进制存储的呢?

第一步:如何存储0和1

image.png

如图所示8*8的晶体管方阵 竖向存值 横向输电
1就充电(显示红色),0就不充电(显示白色)
晶体管存电少,耗电很快(ms),要多次刷新,就是在没耗尽电量之前进行充电(ns),CPU的赫兹就是每秒刷新多少次,来保证1还是1。

第二步:存储数字

其他进制转二进制
十进制转二进制
37(10)=3 * 10 ^1 +7* 10^0 =32+4+1=1 * 2^5+1 * 2^2+1 * 2^0=100101(2)
那么负值怎么存储?第一位作为符号位+0-1,但可能有问题,采用补码来存储
小数怎么存储?
0.75(10)=7 * 1/10+5 * 1/10 ^2=0.5+0.25=1 * 1/2+1 * 1/4=0.11(2)
只有0和1,那小数点怎么表示?采用浮点数存储

第三步:存储字符

外国人将每个字符进行了编号0~127共128个ASCII码值
ASCII美国标准表

image.png

如果你想存储 a,那么就储存 97(10) 对应的二进制
a -> 0110 0001(2) -> 61(16)(为方便书写将二进制转成十六进制)

如果你想存储字符1,那么就储存 49(10) 对应的二进制
1 -> 0011 0001(2) -> 31(16)

第四步:存储中文

我国制定了常用中文字符集[GB 2312 中国国家标准字符集(https://zh.wikipedia.org/wiki/GB_2312)
而后微软将一些生僻字日韩字符等加入后推出了GBK字符集

image.png

第五步 全球字符 Unicode字符集 4个字节32位存储

第六步 如何将Unicode存进计算机

  • 低效率方式:
    a -> 00000000 00000000 00000000 01100001(2) = 0061(16)
    你 -> 00000000 00000000 01001111 01100000(2) = 4F60(16)

  • UTF-8高效率方式:
    a -> 01100001
    你-> 11100100 10111101 10100000

使用UTF-8编码方式(是将Unicode存入计算机的一种算法步骤),UTF-8可以变长存储,根据字节的长短来不定长的存储,以节省空间。

  • 像“a”这种较短的字符(小于七位的),我们可以直接在前面补零表示
  • 像“你”这种长的字符,由于计算机读取时无法弄清楚是存储了一个 由两个一字节组成的字符还是一个由两字节组成的字符,解决方法:

我们从高位依次划分6个字符进行分组,直到分出的组不足6个。即:0100 111101 100000
分别在每一组前面补全读取这一串二进制信息的规则,即:1110XXXX 10XXXXXX10XXXXXX
1110XXXX:111表示计算机需要读取3个字节,每个字节的开头都是10
10+XXXXXX、10+XXXXXX: 所以后两个字节的开头也补上10,说明是和第一个字节共三个字节一起的,组成一个字符。只有X才是原二进制有效的数据。


clipboard.png

! JS采用Unicode字符集,但没使用UTF-8编码。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,294评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,493评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,790评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,595评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,718评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,906评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,053评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,797评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,250评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,570评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,711评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,388评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,018评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,796评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,023评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,461评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,595评论 2 350

推荐阅读更多精彩内容

  • 在计算机中所有的数据都被存储为一连串的二进制信息(0和1)。在这里我将浅谈这些二进制信息是如何表示计算机中的字符和...
    chiang24阅读 2,203评论 0 2
  • 1个字节8位,不够8位左边加0凑够8位。 计算机内存存储 0 和 1 计算机内存之中只存储0和1(二进制),通过硬...
    饥人谷_风争阅读 799评论 0 0
  • 编程基础 1,硬件与软件:计算机的运行原理(《编码》)2,最大的软件:操作系统(维基百科)3,自己写软件:数据结构...
    yytyff阅读 336评论 0 0
  • 刚看到kindle的这个问题的时候,脑袋突然蒙了一下。 kindle:“今年你读了什么书?” 我:“那个……好像没...
    李暖安阅读 614评论 2 8
  • 3月6日的生日之花,东北菟葵。 东北菟葵的寓意是个带刺尖锐的性情,虽然从外表垂低欠身,温碧玉温,而其不知其然。 其...
    冬林探花阅读 990评论 0 0