調查局三等申論題
105年
[電子科學組] 計算機概論
第 一 題
📝 此題為申論題,共 2 小題
小題 (一)
以邏輯運算"AND"實現遮罩運算(masking)的目的為何?請以兩組 8-bit 位元串的運算元(operands)為例說明此種遮罩運算的效果。(10 分)
思路引導 VIP
看到遮罩運算(Masking)與 AND 閘,應立刻想到其布林代數特性:「X AND 1 = X(保留)」與「X AND 0 = 0(清除)」。答題時需先點出其目的(擷取特定位元、強制歸零),再舉一組 8-bit 二進位數值與對應的遮罩值,進行逐位元(Bit-by-bit)運算展示,並補充如 ASCII 大小寫轉換的實務應用,即可達到高分水準。
小題 (二)
如何利用上述的邏輯運算將小寫英文字母的 ASCII 碼轉成大寫?寫出其步驟並以"a"轉成"A"為例說明之。其中"a", "b", ..., "z"的 ASCII 碼分別是十進制的 97, 98, ..., 122;"A", "B", ..., "Z"的 ASCII 碼分別是十進制的 65, 66, ..., 90。(15 分)
思路引導 VIP
看到 ASCII 大小寫轉換,首先要聯想到兩者數值相差 32,對應至二進位就是第 5 個位元(2^5)的差異。接著思考「如何將特定位元歸零而保留其他位元?」,立刻鎖定使用「AND 邏輯運算」搭配特定的位元遮罩(Masking)來完美解題。