計算機如何存儲數(shù)據(jù)


在計算機中所有的數(shù)據(jù)都被存儲為一連串的二進制信息(0和1)。在這里我將淺談這些二進制信息是如何表示計算機中的字符和數(shù)字的。


第一步:如何存儲0和1?

ram.gif

在計算機的內存里有許多存儲0和1設置。

如圖所示,每一個圓圈是一個電池,當要存儲一串二進制信息時,計算機會先選擇一列進行充電, 然后利用橫向和縱向兩條線確定當前要存儲信息的位置。從這一列的第一個開始遞歸的選擇,如果這一個電池代表1就進行充電(在圖中顯示紅色),代表0就不充電(在圖中顯示白色)。
這樣就可以在計算機中存儲二進制數(shù)了。


第二步:如何存儲數(shù)字?

十進制換算成二進制

37 = 100101
0.75 = 0.11

負數(shù)會以補碼的形式存儲
小數(shù)會以浮點數(shù)的形式存儲
具體換算方法是數(shù)學問題,請自行了解


第三步:如何存儲字符

字符是從從存儲數(shù)字的思路延伸過來的。

ascii.jpg

如果你想儲存 a,那么就儲存 97(10) 對應的二進制
a -> 0110 0001(2) -> 61(16)

如果你想儲存 字符1,那么就儲存 49(10) 對應的二進制
1 -> 0011 0001(2) -> 31(16)

gb2312.png

GB2312 共收錄 6763 個漢字,同時收錄了包括拉丁字母、希臘字母、日文平假名及片假名字母、俄語西里爾字母在內的 682 個字符。
后來為了存儲生僻字、繁體字、日語、朝鮮語等,微軟推出了 GBK 字符集


統(tǒng)一標準存儲所有字符

Unicode 字符集 將全球文字統(tǒng)一到一個表里面,包括中日韓文字、藏文、盲文、楔形文字、 顏文字:-)
、繪文字??

如何將Unicode存到計算機里?

由于unicode存儲有些字符占用內存太大,為了解決這個問題,有了一種字符編碼方式——UTF-8。
例如:

  • 低效率方式:
    a -> 00000000 00000000 00000000 01100001(2) = 0061(16)
    你 -> 00000000 00000000 01001111 01100000(2) = 4F60(16)
  • 高效率方式:
    a -> 01100001
    你-> 11100100 10111101 10100000
  1. 像“a”這種較短的字符(小于七位的),我們可以直接在前面補零表示

  2. 像“你”這種長的字符,由于計算機讀取時無法弄清楚是存儲了一個 由兩個一字節(jié)組成的字符還是一個由兩字節(jié)組成的字符,解決方法:

  3. 我們從高位依次劃分6個字符進行分組,直到分出的組不足6個。即:0100 111101 100000

  4. 分別在每一組前面補全讀取這一串二進制信息的規(guī)則,即:11100100 10111101 10100000
    1110+0100:111表示計算機需要讀取3個字節(jié),每個字節(jié)的開頭都是10
    10+111101、10+100000: 所以后兩個分組的開頭也補上10,說明是和第一個字節(jié)一起的,組成一個字符。


字符集歷史

charset.png
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 編程基礎 1.硬件與軟件:計算機的運行原理《編碼》 2.最大的軟件:操作系統(tǒng) 維基百科 3.自己寫軟件:數(shù)據(jù)結構...
    饑人谷_張樂閱讀 721評論 0 2
  • 1個字節(jié)8位,不夠8位左邊加0湊夠8位。 計算機內存存儲 0 和 1 計算機內存之中只存儲0和1(二進制),通過硬...
    饑人谷_風爭閱讀 855評論 0 0
  • 編程基礎 1,硬件與軟件:計算機的運行原理(《編碼》)2,最大的軟件:操作系統(tǒng)(維基百科)3,自己寫軟件:數(shù)據(jù)結構...
    yytyff閱讀 356評論 0 0
  • 簡介 或許聽起來,開發(fā)OS是很高大上的事情,這也是每一個程序猿和編程愛好者的夢想,我也是。 既然想到不如直接開干,...
    TaXue_WWL閱讀 1,877評論 4 10
  • 雷雁雄10月10日總結:今天女兒18歲生日,因住校,送蛋糕到學校給孩子過生日;下午跑客戶溝通交流。
    雷雁雄閱讀 326評論 0 0

友情鏈接更多精彩內容