精選百科
本文由作者推薦
字節(jié)
計算機存儲容量計量單位
字節(jié)(Byte)是計算機信息技術(shù)用于計量存儲容量的一種計量單位,也表示一些計算機編程語言中的數(shù)據(jù)類型和語言字符。作為一個單位來處理的一個二進制數(shù)字串,是構(gòu)成信息的一個小單位。最常用的字節(jié)是八位的字節(jié),即它包含八位的二進制數(shù)。
基本信息
中文名 | 字節(jié) |
外文名 | Byte |
定義 | 計算機計量單位、編程語言字符,相當于一個字符,8位=1字節(jié) |
二進制數(shù) | binary number |
簡寫 | B |
展開
簡介
字節(jié)是二進制數(shù)據(jù)的單位。一個字節(jié)通常8位長。但是,一些老型號計算機結(jié)構(gòu)使用不同的長度。為了避免混亂,在大多數(shù)國際文獻中,使用詞代替byte。在多數(shù)的計算機系統(tǒng)中,一個字節(jié)是一個8位長的數(shù)據(jù)單位,大多數(shù)的計算機用一個字節(jié)表示一個字符、數(shù)字或其他字符。一個字節(jié)也可以表示一系列二進制位。在一些計算機系統(tǒng)中,4個字節(jié)代表一個字,這是計算機在執(zhí)行指令時能夠有效處理數(shù)據(jù)的單位。一些語言描述需要2個字節(jié)表示一個字符,這叫做雙字節(jié)字符集。一些處理器能夠處理雙字節(jié)或單字節(jié)指令。字節(jié)通常簡寫為“B”,而位通常簡寫為小寫“b”,計算機存儲器的大小通常用字節(jié)來表示。
換算
ASCII碼:一個英文字母(不分大小寫)占一個字節(jié)的空間。一個二進制數(shù)字序列,在計算機中作為一個數(shù)字單元,一般為8位二進制數(shù)。換算為十進制,最小值-128,最大值127。如一個ASCII碼就是一個字節(jié)。
UTF-8編碼:一個英文字符等于一個字節(jié),一個中文(含繁體)等于三個字節(jié)。中文標點占三個字節(jié),英文標點占一個字節(jié)
Unicode編碼:一個英文等于兩個字節(jié),一個中文(含繁體)等于兩個字節(jié)。中文標點占兩個字節(jié),英文標點占兩個字節(jié)
不同數(shù)量級間
國際單位制(SI)
1KB=1024B;1MB=1024KB=1024×1024B。
1B(byte,字節(jié))=8bit(見下文);
1KB(Kilobyte,千字節(jié))=1024B=2^10B;
1BB(Brontobyte,一千億億億字節(jié))=1024YB=2^90B;
1NB(NonaByte,一百萬億億億字節(jié))=1024BB=2^100B;
國際電工委員會的電氣技術(shù)用字母符號標準IEC60027-2IEC80000-13
數(shù)據(jù)存儲是以10進制表示,數(shù)據(jù)傳輸是以2進制表示的,所以1KB不等于1000B。
1KB=1024B;1MB=1024KB=1024×1024B。其中1024=2。
1B(byte,字節(jié))=8bit(見下文);
1MiB(Mebibyte,兆字節(jié),百萬字節(jié),簡稱“兆”)=1024KB=2^20B;
1GiB(Gibibyte,吉字節(jié),十億字節(jié),又稱“千兆字節(jié)”)=1024MB=2^30B;
1TiB(Tebibyte,萬億字節(jié),太字節(jié))=1024GB=2^40B;
1PiB(Pebibyte,千萬億字節(jié),拍字節(jié))=1024TB=2^50B;
1EiB(Exbibyte,百億億字節(jié),艾字節(jié))=1024PB=2^60B;
1YiB(Yobibyte,一億億億字節(jié),堯字節(jié))=1024ZB=2^80B;
由于混淆已經(jīng)普遍化:
kilobyte往往可以指kibibyte
Megabyte往往可以指Mebibyte
Gigabyte往往可以是指Gibibyte
Terabyte往往可以指Tebibyte
Petabyte往往亦可以指Pebibyte
Exabyte往往亦可以指Exbibyte
Zettabyte往往亦可以指Zebibyte
Yottabyte往往亦可以指Yobibyte
存儲類型
以下以VisualBasic為例,講解各種數(shù)據(jù)類型所占字節(jié)。
展開表格
任何數(shù)據(jù)類型的數(shù)組都需要20個字節(jié)的內(nèi)存空間,加上每一數(shù)組維數(shù)占4個字節(jié),再加上數(shù)據(jù)本身所占用的空間。數(shù)據(jù)所占用的內(nèi)存空間可以用數(shù)據(jù)元數(shù)目乘上每個元素的大小加以計算。例如,以4個2字節(jié)之Integer數(shù)據(jù)元所組成的一維數(shù)組中的數(shù)據(jù),占8個字節(jié)。這8個字節(jié)加上額外的24個字節(jié),使得這個數(shù)組所需總內(nèi)存空間為32個字節(jié)。
包含一數(shù)組的Variant比單獨的一個數(shù)組需要多12個字節(jié)。
相關(guān)單位
B與bit
數(shù)據(jù)存儲是以“字節(jié)”(Byte)為單位,數(shù)據(jù)傳輸大多是以“位”(bit,又名“比特”)為單位,一個位就代表一個0或1(即二進制),每8個位(bit,簡寫為b)組成一個字節(jié)(Byte,簡寫為B),是最小一級的信息單位。
B與iB
1KiB(Kibibyte)=1024byte
1KB(Kilobyte)=1000byte
1MB(Megabyte)=1000000byte
硬盤生產(chǎn)商是以GB(十進制,即10的3次方=1000,如1MB=1000KB)計算的,而電腦(操作系統(tǒng))是以GiB(2進制,即2的10次方,如1MiB=1024KiB)計算的,但是國內(nèi)用戶一般理解為1MiB=1M=1024KB,所以為了便于中文化的理解,翻譯MiB為MB也是可以的。
同樣根據(jù)硬盤廠商與用戶對于1MB大小的不同理解,所以好多160G的硬盤實際容量按計算機實際的1MiB=1024KB算都不到160G,這也可以解釋為什么新買的硬盤“缺斤短兩”并沒有它所標示的那么大。
數(shù)據(jù)類型
Byte數(shù)據(jù)類型(字節(jié)型)用一個字節(jié)(Byte)儲存,可區(qū)別256個數(shù)字,取值范圍:0到255。Byte是從0-255的無符號類型,所以不能表示負數(shù)。具體參照數(shù)據(jù)類型。
語言字符
效果等同于unsignedchar型
typedefunsignedcharBYTE
定義一種新類型BYTE,它其實就是unsignedchar
在VC++中,byte型數(shù)據(jù)的定義包含在windows.h頭文件中,調(diào)用byte需要添加代碼#include
而在java中,byte是一個關(guān)鍵字
取值范圍是-128~127
易混概念辨析
字
在計算機中,一串數(shù)碼作為一個整體來處理或運算的,稱為一個計算機字,簡稱字。字通常分為若干個字節(jié)(每個字節(jié)一般是8位)。在存儲器中,通常每個單元存儲一個字,因此每個字都是可以尋址的。字的長度用位數(shù)來表示。
字長
計算機的每個字所包含的位數(shù)稱為字長。根據(jù)計算機的不同,字長有固定的和可變的兩種。固定字長,即字長度不論什么情況都是固定不變的;可變字長,則在一定范圍內(nèi),其長度是可變的。
計算的字長是指它一次可處理的二進制數(shù)字的數(shù)目。計算機處理數(shù)據(jù)的速率,自然和它一次能加工的位數(shù)以及進行運算的快慢有關(guān)。如果一臺計算機的字長是另一臺計算機的兩倍,即使兩臺計算機的速度相同,在相同的時間內(nèi),前者能做的工作是后者的兩倍。
一般地,大型計算機的字長為32-64位,小型計算機為12-32位,而微型計算機為4-16位。字長是衡量計算機性能的一個重要因素。
在微型計算機中,通常用多少字節(jié)來表示存儲器的存儲容量。
例如,在C++的數(shù)據(jù)類型表示中,通常char為1個字節(jié),int為4個字節(jié),double為8個字節(jié)。
理解編碼的關(guān)鍵,是要把字符的概念和字節(jié)的概念理解準確。這兩個概念容易混淆,我們在此做一下區(qū)分:
概念描述舉例
字符人們使用的記號,抽象意義上的一個符號。'1','中','a','$','¥'……
字節(jié)計算機中存儲數(shù)據(jù)的單元,一個8位的二進制數(shù),是一個很具體的存儲空間。0x01,0x45,0xFA……
字符串
在內(nèi)存中,如果“字符”是以ANSI編碼形式存在的,一個字符可能使用一個字節(jié)或多個字節(jié)來表示,那么我們稱這種字符串為ANSI字符串或者多字節(jié)字符串。如,"中文123"(占8字節(jié),包括一個隱藏的