複選題
13. 二進位的非負整數表示系統中,下列何者正確?
(A)一個 byte 可以表示的最大值為 126
(B)1000 表示十進位值 為 8
(C)十進位的-1 以 1111 表示
(D)010 與 10 所表示的十進位 數值相同
(E)16 位元能夠表示的整數個數有 65536

答案:登入後查看
統計: A(15), B(163), C(35), D(153), E(140) #3145753

詳解 (共 2 筆)

#7042899
1. 題目解析 本題是考察二進位制(b...
(共 1108 字,隱藏中)
前往觀看
0
0
#7083682

【解題思路】

這題考五個重點:

  1. 1 byte = 8 bits → 最大值怎麼算?

  2. 二進位轉十進位

  3. 補數(二補數)的負數表示法(但本題只看「非負」)

  4. 二進位前面的 0 不影響數值

  5. n 位元可以表示的總個數 = 2ⁿ

逐一解析,你會完全懂。

【逐一破題】

(A) 一個 byte 可以表示的最大值為 126

錯。

1 byte = 8 bits
全是 1 時 → 最大值:

11111111(二進位)
= 255(十進位)

計算方式:
2⁷ + 2⁶ + 2⁵ + 2⁴ + 2³ + 2² + 2¹ + 2⁰
= 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1
= 255

126 明顯太小。

(B) 1000 表示十進位值為 8

正確。

計算方式:

1000(二進位)
= 1×2³ + 0×2² + 0×2¹ + 0×2⁰
= 8

(C) 十進位的 -1 以 1111 表示

在「二補數」表示法中,4-bit 的 -1 = 1111

但題目前面寫:

「二進位的非負整數表示系統」

非負數系統 不表示負數
1111 在非負整數系統下就是:

1×8 +1×4 +1×2 +1×1 = 15

所以此敘述 (題目限制是非負整數)。

(D) 010 與 10 所表示的十進位數值相同

正確。

因為前導 0 不影響值:

010(二進位) = 2
10(二進位) = 2

完全一樣,就像十進位的 007 = 7。

(E) 16 位元能夠表示的整數個數有 65536

正確。

因為:

n bits 可以表示的「所有可能組合」數 = 2ⁿ

16 bits → 2¹⁶ = 65536

如果是非負整數:

可表示的最大值 = 0 到 65535(共 65536 個數)

【延伸知識:你需要的完整圖表與公式】

1. bit、byte 的定義

  • 1 bit:二進位一位(0 或 1)

  • 1 byte = 8 bits

2. 二進位轉十進位(重要公式)

二進位 1011:

= 1×2³ + 0×2² + 1×2¹ + 1×2⁰
= 8 + 0 + 2 + 1
= 11

「每一位」都代表不同次方的 2(從右往左)。

3. n bit 可表示整數個數

公式:2ⁿ

例:

位元數 可表示的數字組合 最大非負值
4 bits 2⁴ = 16 0~15
8 bits 2⁸ = 256 0~255
16 bits 2¹⁶ = 65536 0~65535
32 bits 2³² 0~4,294,967,295

4. 前導零(Leading Zero)不影響值

010 = 10(二進位)
007 = 7(十進位)
完全相同概念。

【記憶技巧】

一句話背起來:

最大值 = 全部 1
個數 = 2ⁿ
前導零不算值
非負不算負數。

【常見錯誤】

  1. 把「二補數」拿到「非負整數系統」使用(本題 C)

  2. 把「位元數」和「最大值」混淆(A)

  3. 忘記「2ⁿ 表示總個數」

  4. 忘記前導零不影響結果(D)

0
0

私人筆記 (共 1 筆)

私人筆記#5476318
未解鎖
二進位的非負整數表示系統中,下列何者正...
(共 271 字,隱藏中)
前往觀看
4
0