A1 數據表示
數據單位
- 位元(bit/b)
- 數值:數據的基本單位。它可以是 0 或 1。
- 字節/位元組(B)
- 數值:1 B = 8 bits
- 千字節(KB)
- 數值:1 KB = 2¹⁰ B = 1024 B = 2¹⁰ B
- 百萬字節(MB)
- 數值:1 MB = 2¹⁰ KB = 1024 KB = 2²⁰ B
- 十億字節(GB)
- 數值:1 GB = 2¹⁰ MB = 1024 MB = 2³⁰ B
- 萬億字節(TB)
- 數值:1 TB = 2¹⁰ GB = 1024 GB = 2⁴⁰ B
位元速率單位列表
- 每秒位元(bps, bit/s, b/s)
- 數值:每秒鐘傳輸 1 位元的數據。
- 每秒千位元(kbps, kbit/s, kb/s)
- 數值:1 kbps = 10³ bps = 1000 bps = 10³ bps
- 每秒百萬位元(Mbps, Mbit/s, Mb/s)
- 數值:1 Mbps = 10³ kbps = 1000 kbps = 10⁶ bps
- 每秒十億位元(Gbps, Gbit/s, Gb/s)
- 數值:1 Gbps = 10³ Mbps = 1000 Mbps = 10⁹ bps
- 每秒萬億位元(Tbps, Tbit/s, Tb/s)
- 數值:1 Tbps = 10³ Gbps = 1000 Gbps = 10¹² bps
無符號整數
無符號整數僅用來表示非負整數(即 0 和正整數)。
- 特點: 所有位元(bits)都用來儲存數值,沒有正負號之分。
- 數值範圍: 若有 個位元:
- 最小:
- 最大:
- 範例(以 8 位元為例):
0000 0000= 01111 1111=
有符號整數
有符號整數可以用來表示正數、負數與 0。
在電腦科學中,最常見的表示方法是將最高有效位元 作為「符號位元」:
0:代表正數
1:代表負數
數值範圍: 若有 個位元:
- 最小:
- 最大:
- 原因:最高位元(MSB)被拿來當作符號位,所以只剩下 個位元來表示數值。
範例(以 8 位元為例):
0111 1111= (正數最大值)0000 0001= 10000 0000= 01111 1111= -1 (這在無符號中是 255)1000 0001= -1271000 0000= (負數最小值)
二補碼
二補碼是為了解決「負零」問題並簡化硬體加減法運算而設計的。
如何計算二補碼?
從正數轉負數(或負數轉正數):
- 取反:將所有位元 0 變 1,1 變 0。
- 加 1:在結果上加 1。
範例:求 -5 的 4 位元二補碼
- 正 5 的二進位:
0101 - 反轉位元:
1010 - 加 1:
1010 + 1 = 1011 - 因此,
-5在 4 位元二補碼系統中表示為1011。
二補碼的優點
- 零的表示唯一: 只有
0000 0000代表 0,不存在-0。 - 簡化電路: 減法運算可以看作是「加法運算」。
- 例如:
5 - 3等於5 + (-3)。 - 電腦只需要設計「加法器」,不需要額外設計減法器。
- 例如:
快速比較表 (以 8 位元為例)
| 類型 | 位元數 (n) | 最小值 | 最大值 | 備註 |
|---|---|---|---|---|
| 無符號 (Unsigned) | 8 | 0 | 255 | 全用於數值 |
| 二補碼 (Signed) | 8 | -128 | 127 | 最高位為符號位 |
常見面試/考試考點:
- 溢位:當運算結果超出了該位元數能表達的範圍(例如兩個正數相加結果變成負數)。
- 擴充:當要把 8 位元的數變成 16 位元時,正數前面補 0,負數前面補 1,以保持數值不變。
條碼 vs 二維碼
掃描容易度
- 條碼: 現代科技使安裝了特定應用程式的智能手機既可掃描條碼,也可掃描二維碼。條碼大多只能從兩個角度進行掃描,即 0° 或 180°。
- 二維碼: 二維碼是可以從任何方向掃描的。即使掃描器傾側,令掃描出來的圖像扭曲,它仍有機會成功讀取二維碼的數據。
糾正錯誤的能力
- 條碼: 如果單個條形或空格的寬度被更改,便無法正確掃描條碼。
- 二維碼: 二維碼比條碼具有更高的糾正能力。它通常可以恢復高達 30% 的數據。
可代表的數據種類
- 條碼: 一些條碼可以表示 ASCII 字符,但另一些只可表示數字。
- 二維碼: 二維碼可以表示統一碼(Unicode)字符。
可代表的數據量
- 條碼: 序列的最大長度約為 50 個字符。
- 二維碼: 二維碼的上限通常不少於 1000 個字符。
Last updated on