電腦常見單位: bit、bps、byte、octet、word、KB、KiB…

位元 (Bit)

數字系統 (Numeral System) —— 進制 簡介 一文中提過:

在數位系統裡,位元 (bit, binary digit) 是可表示 0 或 1 的基本資訊單位;資料會以一串位元依指定格式表示與保存。

 
一個 位元 (bit) 有 0 或 1 兩種可能狀態,是數位資料的基本資訊單位。
 


 

位元/秒 (bps)

位元/秒 (bps) 意指 bit per second,
位元速率 經常在電信領域用作連線速度、傳輸速度 (例如 網速、USB)。
 
1 Kbps = 103 bit/s = 每秒傳輸 1,000 bit
1 Mbps = 106 bit/s = 每秒傳輸 1,000,000 bit
1 Gbps = 109 bit/s = 每秒傳輸 1,000,000,000 bit
 


 

位元組 (Byte)

位元組 (byte),又稱字節,是處理器可定址的最小資料單位;它的位元數由架構與語言規格定義。在今天常見的系統中,1 byte 幾乎都是 8 bit,但嚴格要求 8 bit 時應使用 octet
 


 

Octet

Octet,為 8 = 23 個位元。

尛 😮,這不是跟 位元組 (byte) 一樣嘛?

 
在今日主流系統中,1 byte 幾乎都等於 1 octet;但 byte 的歷史定義不保證恆為 8 bit,因此網路協定仍偏好使用 octet。
 
然而,byte 過去 做為儲存大小單位,
被廣泛地使用於計算機領域,卻無一致的定義。
 
因此,現今許多 計算機架構、網路協定…中,
(ex: [RFC5234], Appendix B.1)
都會使用 Octet 來精準的表示 8 位元!避免造成誤解。
 


 

字組 (Word)

字組 (word),又稱 字元組 (注意: 不同於 字節 byte),
特別的是,其 並無規範大小
 
它做為計算機架構中:

設計處理器 (CPU) 時,處理資料的自然單位!

 
是影響計算機設計的重要因素。
 
一個字組 (word),由一或多個位元組 (byte) 所組成,
位元 (bit) 數量,稱為 字組大小 (word size) 或 字寬 (word width)、字長 (word length),
字組大小,通常對應於 暫存器 (register) 寬度 [註1]
常見的有 32、64 位元。
 
[註1]:
並非絕對
 


 

KB、KiB、MB、MiB…

儘管許多計算機理論建立在二進制 的基礎上。
許多通訊協定、儲存系統…,是使用十進制 作為計量單位,
(ex: 你買了 8G 隨身碟,以為是 8 * 1024 MB,卻發現比想像中的小很多 😭)
 
為避免混淆,國際單位制 (SI) 與 國際電工委員會 (IEC),
分別制定了十進制與二進制的規範,:
 
KB (Kilobyte) = 1000 byte = 103 byte = 千位元組
MB (Megabyte) = 1000 KB = 106 byte = 百萬位元組
GB (Gigabyte) = 1000 MB = 109 byte = 十億位元組
TB (Terabyte) = 1000 GB = 1012 byte = 兆位元組
PB (Petabyte) = 1000 TB = 1015 byte = 千兆位元組
EB (Exabyte) = 1000 PB = 1018 byte = 艾 (艾可薩) 位元組
 


 
KiB (kibibyte) = 1024 byte = 210 byte
MiB (mebibyte) = 1024 KiB = 220 byte
GiB (gibibyte) = 1024 MiB = 230 byte
TiB (tebibyte) = 1024 GiB = 240 byte
PiB (pebibyte) = 1024 TiB = 250 byte
EiB (exbibyte) = 1024 PiB = 260 byte
 
 
然而,長久以來的習慣:

大家仍時常使用 MB、GB…等,代稱 MiB、GiB

 
computer-chips-in-motherboard
 


 

位元速率

常用於傳輸速率的『位元/秒 (bit per second, bps)』,用法也就依此延伸啦:
 
ex:

KB/s = kilobyte per second = 103 byte/s

 

KiB/s = kibibyte per second = 210 byte/s

 
因此,10 Mbps = 10 * 106 bps = 1.25 MB/s = 1.1920929 MiB/s,
而 100 Mbps = 100 * 106 bps = 12.5 MB/s = 11.920929 MiB/s,
切勿將十進制與二進制系統混為一談囉!
 
 

作者: 鄭中勝
喜愛音樂,但不知為何總在打程式 ? 期許能重新審視、整理自身所學,幫助有需要的人。

發表迴響