精選百科
本文由作者推薦
字節
計算機存儲容量計量單位

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