數據存儲的本質


問題1:計算機如何存儲數據?

狹義數據分類:數值,符號(加減乘除,特殊符號,漢字等)

所有的數據(數據,圖像,音頻,視頻)會轉化成二進制數據,然后以二進制數據串的形式存儲在計算機內部。

 

計算機系統只能存儲和使用二進制0101。。。代表的數據

比如:UTF-8編碼中,丁曉明 是3個字,轉換成二進制可能是 0101011101010101010101。。。

 

計算機內存中的數據也是二進制嗎?

計算機內存中數據也是二進制

問題2:計算機最小的存儲單元是什么?

內存中運算的最小存儲單位是字節,位運算也是在一個字節的存儲單位的基礎上進行的,

字節是計算機體系中(內存,磁盤)最小的可尋址單元,每個字節有個地址單元信息!

計算機各種存儲器(內存,磁盤)的最小存儲單位是字節,byte。

存儲單元是CPU訪問存儲器的最小單位!

 

1byte由8位二進制碼值組成,每一位二進制碼叫比特;

1byte 的值域[00000000 ~11111111],能表示數字[0,255]

問題來了,計算機如何表示字符?

問題3:如何表示字符等人類能看懂的信息?為什么有編碼/解碼?

前提,計算機只能處理二進制的0/1數據;但是人並不能看懂0101;計算機如何表示字符呢?

為了讓人可以操作計算機,就提出一種方案:固定的0101數字串代表固定的字母,字符,符號;這樣人就能看懂了;

於是乎就有了Unicode方案,UTF-8方案,GBK方案;

 

 

編碼和解碼的存在就是讓人和計算機能夠聯通!是2端的翻譯!

編碼的實質就是一種轉換標准,什么樣的二進制數字串,代表什么樣的信息;將機器語言轉換為人的語言;

解碼的實質也是一種標准,將字符,符號等轉換成機器語言。

 

問題又來了

一個字符占多少存儲單元[byte]?

問題4:一個字符占多少存儲單元byte?

英文字母 中文漢字

①ASCII碼  1個字節 2個字節

②UTF-8編碼  1個字節 3個字節【含繁體】

③Unicode編碼  2個字節 2個字節

符號:英文標點占一個字節,中文標點占兩個字節。舉例:英文句號“.”占1個字節的大小,中文句號“。”占2個字節的大小。

④UTF-16編碼  2個字節 2個字節【某些漢字需要4個字節】

⑤UTF-32編碼 世界上任何字符的存儲都需要4個字節。

 

問題3:計算機存儲數據的單位是什么?

數據存儲是以10進制表示,數據傳輸是以2進制表示的,所以1KB不等於1000B。

1KB=1024B;1MB=1024KB=1024×1024B。其中1024=210

1B(byte,字節)= 8 bit(見下文);

1KB(Kibibyte,千字節)=1024B= 2^10 B;

1MB(Mebibyte,兆字節,百萬字節,簡稱“兆”)=1024KB= 2^20 B;

1GB(Gigabyte,吉字節,十億字節,又稱“千兆”)=1024MB= 2^30 B;

1TB(Terabyte,萬億字節,太字節)=1024GB= 2^40 B;

1PB(Petabyte,千萬億字節,拍字節)=1024TB= 2^50 B;

1EB(Exabyte,百億億字節,艾字節)=1024PB= 2^60 B;

1ZB(Zettabyte,十萬億億字節,澤字節)= 1024EB= 2^70 B;

1YB(Yottabyte,一億億億字節,堯字節)= 1024ZB= 2^80 B;

1BB(Brontobyte,一千億億億字節)= 1024YB= 2^90 B;

1NB(NonaByte,一百萬億億億字節) = 1024 BB = 2^100 B;

1DB(DoggaByte,十億億億億字節) = 1024 NB = 2^110 B;

問題4 :字節,比特,比特率

字節是數據存儲的最小單位

一個字節由8個比特組成,1byte=8bit

一個字節就是一個8位的二進制數如:10010100   , 而其中的一個0/1就是1個bit;

一個字節能表示多大的數字?0~255

 

比特是計算機系統中最小的信息單位,比特是數據傳輸的最小單位

 

比特率 https://zh.wikipedia.org/wiki/比特率

比特率是單位時間內傳輸的bit數

數字信息流的基本單位是bit(比特),時間的基本單位是s(秒),因此bit/s(比特/秒)是描述帶寬的單位,1bit/s是帶寬的基本單位,所謂的帶寬其實指的是傳輸速度的快慢,也就是指在一個固定的時間內(1秒),能通過的最大位數據。

比特率bit/s就是吞吐量,每秒能傳遞多少位的數據

 

參考

計算機是如何存儲數據的總結- 網格存儲字符法

 https://www.jianshu.com/p/3065e30dda48

為什么計算機最小的存儲單位是字節?而最小到的傳輸單位是bit?

http://blog.csdn.net/ebw123/article/details/51420076

存儲單元百度百科

https://baike.baidu.com/item/存儲單元

字節百度百科

https://baike.baidu.com/item/字節

字符編碼筆記:ASCII,Unicode 和 UTF-8

http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM