計算機數據存儲單位解析 -- 什么是位、字節、字、KB、MB?


==== 情景:數據庫為GBK字符集時(oracle在varchar2類型中一個漢字占用兩位),數據庫為UTF8字符集時(一個漢字占用三位)。

==== 那么問題來了,字節位是個什么東西? 怎么來理解呢? 那么我們就來重新學習一下計算機數據單位的知識。

 

一、什么是位、字節、字、KB、MB

  位:"位(bit)"是電子計算機中最小的數據單位。每一位的狀態只能是0或1。

  字節:8個二進制位構成1個"字節(Byte)",它是存儲空間的基本計量單位。1個字節可以儲存1個英文字母或者半個漢字,換句話說,1個漢字占據2個字節的存儲空間。

  字:"字"由若干個字節構成,字的位數叫做字長,不同檔次的機器有不同的字長。例如一台8位機,它的1個字就等於1個字節,字長為8位。如果是一台16位機,那么,它的1個字就由2個字節構成,字長為16位。字是計算機進行數據處理和運算的單位。

  KB:在一般的計量單位中,通常K表示1000。例如:1公里= 1000米,經常被寫為1km;1公斤=1000克,寫為1kg。同樣K在二進制中也有類似的含義。只是這時K表示1024,也就是2的10次 方。1KB表示1K個Byte,也就是1024個字節。

  MB:計量單位中的M(兆)是10的6次方,見到M自然想起要在該數值的后邊續上六個0,即擴大一百萬倍。在二進制中,MB也表示到了百萬級的數量級,但1MB不正好等於1000000字節,而是1048576字節,即 1MB = 2E+20 Bytes = 1048576Bytes。

  奔騰微處理器 是Intel公司於1993年3月發布的新一代CPU,根據音譯稱它為"奔騰處理器"。由於大家已經熟悉了Intel公司的386、486CPU系列產品,所以在Intel正式發布前新聞界都叫它586。但Intel公司出於商標版權的考慮把產品定名為Pentium,其中"Pent"在英文中帶有"5"的含義。到現在還有許多人把它叫作"586",Intel在Pentium芯片中采取了許多新技術,使得它對信息的處理能力比486有質的飛躍,叫它"586"其實是恰如其分的。 奔騰是一個超大規模的的微處理器,它內含有310萬個晶體管。第一批奔騰芯片的主頻是60MHz和66MHz,目前最高的奔騰芯片的主頻是233MHz。奔騰芯片內置32位地址總線和64位數據總線,浮點運算單元,存儲管理單元,兩個8KB高速緩沖存儲器(一個用於指令,一個用於數據)。還有一個SMM(System Management Mode)系統管理模式,這是Intel 公司的一個技術術語,這種技術使得微處理器當系統處於空轉狀態或執行不需要CPU干預的操作時減緩工作速度或暫停某些系統單元的工作,目的是減少功耗。

  MB就是通常說的兆

  KB 1KB=1024B

  MB 1MB=1024KB

  GB 1GB=1024MB

   TB 1TB=1024GB

 

二、大B和小B的區別是什么?

 

1、在計算機科學中,bit是表示信息的最小單位,叫做二進制位;一般用0和1表示。Byte叫做字節,由8個位(8bit)組成一個字節(1Byte),用 於表示計算機中的一個字符。bit與Byte之間可以進行換算,其換算關系為:1Byte=8bit(或簡寫為:1B=8b);在實際應用中一般用簡稱, 即1bit簡寫為1b(注意是小寫英文字母b),1Byte簡寫為1B(注意是大寫英文字母B)。

2、在計算機網絡或者是網絡運營商中,一般,寬帶速率的單位用bps(或b/s)表示;bps表示比特每秒即表示每秒鍾傳輸多少位信息,是bit per second的縮寫。在實際所說的1M帶寬的意思是1Mbps(是兆比特每秒Mbps不是兆字節每秒MBps)。

3、建議用戶記住以下換算公式:

1B=8b 1B/s=8b/s(或1Bps=8bps)

1KB=1024B 1KB/s=1024B/s

1MB=1024KB 1MB/s=1024KB/s

規范提示:實際書寫規范中B應表示Byte(字節),b應表示bit(比特),但在平時的實際書寫中有的把bit和Byte都混寫為b ,如把Mb/s和MB/s都混寫為Mb/s,導致人們在實際計算中因單位的混淆而出錯。切記注意!!!

 

 

三、為什么1個字節(Byte)等8位(Bit)?

來源:http://blog.csdn.net/bookaswine/article/details/49834155

 

有沒有想過為什么1個字節等於8個比特位?想過,OK,好孩子,來摸摸頭,沒想過的同學請自覺面壁哈。啥?這不是理所當然的么,就和吃飯喝水一樣自然,還要想嗎?另外,知道這個有什么用呢?


那些看起來自然而然的事情,其實並不是我們想象的那樣簡單,經常思考和探究這些看似普通的問題,有助於“計算思維”的養成。


百度知道上的答案如下:“所謂字節,原意就是用來表示一個完整的字符的。最初的計算機性能和存儲容量都比較差,所以普遍采用4位BCD編碼(這個編碼出現比計算機還早,最早是用在打孔卡上的)。BCD編碼表示數字還可以,但表示字母或符號就很不好用,需要用多個編碼來表示。后來又演變出6位的BCD編碼(BCDIC),以及至今仍在廣泛使用的7位ASCII編碼。不過最終決定字節大小的,是大名鼎鼎的System/360。當時IBM為System/360設計了一套8位EBCDIC編碼,涵蓋了數字、大小寫字母和大部分常用符號,同時又兼容廣泛用於打孔卡的6位BCDIC編碼。System/360很成功,也奠定了字符存儲單位采用8位長度的基礎,這就是1字節=8位的由來。”


各位看官看到這里是否覺得IBM System/360很牛,是否想起了大牛弗雷德里克·布魯克斯和他的《人月神話》,那么繼續往下追尋,


弗雷德里克·布魯克斯在哈佛大學取得博士學位以后,進入IBM公司設立在紐約波凱普茜(Poughkeepsie,NewYork)的實驗室當工程師。這個實驗室從20世紀50年代到80年代一直是IBM公司開發計算機的中心。布魯克斯在這里參加了Harvest和STRETCH計算機的開發,任體系結構設計師。這兩個型號的計算機都引入了一些新技術,在20世紀50年代后期至60年代初期有很大影響,尤其是STRETCH計算機,當前已成標准的8個二進制位的“字節”(byte)就是由布赫霍爾茲(WernerBuchholz)提出,在STRETCH上首次采用的。


終於找到了出處!

 
 


免責聲明!

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



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