A1 數據表示

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)都用來儲存數值,沒有正負號之分。
  • 數值範圍: 若有 nn 個位元:
    • 最小:00
    • 最大:2n12^n - 1
  • 範例(以 8 位元為例):
    • 0000 0000 = 0
    • 1111 1111 = 281=2552^8 - 1 = 255

有符號整數

有符號整數可以用來表示正數、負數與 0

在電腦科學中,最常見的表示方法是將最高有效位元 作為「符號位元」:

  • 0:代表正數

  • 1:代表負數

  • 數值範圍: 若有 nn 個位元:

    • 最小:2n1-2^{n-1}
    • 最大:2n112^{n-1} - 1
    • 原因:最高位元(MSB)被拿來當作符號位,所以只剩下 n1n-1 個位元來表示數值。
  • 範例(以 8 位元為例):

    • 0111 1111 = 2811=1272^{8-1} - 1 = 127 (正數最大值)
    • 0000 0001 = 1
    • 0000 0000 = 0
    • 1111 1111 = -1 (這在無符號中是 255)
    • 1000 0001 = -127
    • 1000 0000 = 281=128-2^{8-1} = -128 (負數最小值)

二補碼

二補碼是為了解決「負零」問題並簡化硬體加減法運算而設計的。

如何計算二補碼?

從正數轉負數(或負數轉正數):

  1. 取反:將所有位元 0 變 1,1 變 0。
  2. 加 1:在結果上加 1。

範例:求 -5 的 4 位元二補碼

  1. 正 5 的二進位:0101
  2. 反轉位元:1010
  3. 加 1:1010 + 1 = 1011
  4. 因此,-5 在 4 位元二補碼系統中表示為 1011

二補碼的優點

  1. 零的表示唯一: 只有 0000 0000 代表 0,不存在 -0
  2. 簡化電路: 減法運算可以看作是「加法運算」。
    • 例如:5 - 3 等於 5 + (-3)
    • 電腦只需要設計「加法器」,不需要額外設計減法器。

快速比較表 (以 8 位元為例)

類型位元數 (n)最小值最大值備註
無符號 (Unsigned)80255全用於數值
二補碼 (Signed)8-128127最高位為符號位

常見面試/考試考點:

  • 溢位:當運算結果超出了該位元數能表達的範圍(例如兩個正數相加結果變成負數)。
  • 擴充:當要把 8 位元的數變成 16 位元時,正數前面補 0,負數前面補 1,以保持數值不變。

條碼 vs 二維碼

掃描容易度

  • 條碼: 現代科技使安裝了特定應用程式的智能手機既可掃描條碼,也可掃描二維碼。條碼大多只能從兩個角度進行掃描,即 0° 或 180°。
  • 二維碼: 二維碼是可以從任何方向掃描的。即使掃描器傾側,令掃描出來的圖像扭曲,它仍有機會成功讀取二維碼的數據。

糾正錯誤的能力

  • 條碼: 如果單個條形或空格的寬度被更改,便無法正確掃描條碼。
  • 二維碼: 二維碼比條碼具有更高的糾正能力。它通常可以恢復高達 30% 的數據。

可代表的數據種類

  • 條碼: 一些條碼可以表示 ASCII 字符,但另一些只可表示數字。
  • 二維碼: 二維碼可以表示統一碼(Unicode)字符。

可代表的數據量

  • 條碼: 序列的最大長度約為 50 個字符。
  • 二維碼: 二維碼的上限通常不少於 1000 個字符。
Last updated on