Byte = 0 ~ 255 (10進制)
= 0 ~ FF (16進制)
= 0000 0000 ~ 1111 1111 (2進制)
(A)請判斷該 Byte 的數值 = 143、201、170,是否滿足下列條件:
1. 第 7 位元 = 1
2. 第 5 位元 = 0
3. 第 3 位元 = 1
也就是 1x0x1xxx
Ans:
該條件 1x0x1xxx 有 位元=1、位元=0 兩種格式的判斷。
將條件 1x0x1xxx 拆為兩種數值,並逐一判斷
判斷 位元=1 要用 AND 來運算 1xxx1xxx -> 10001000 -> 136 (10進制)
判斷 位元=0 要用 OR 來運算 xx0xxxxx -> 11011111 -> 223 (10進制)
143 = 10001111
143 and 136 = 136 (判斷 位元=1,結果成立)
143 or 223 = 223 (判斷 位元=0,結果成立)
143 滿足上述兩種運算條件
201 = 11001001
201 and 136 = 136 (判斷 位元=1,結果成立)
201 or 223 = 223 (判斷 位元=0,結果成立)
201 滿足上述兩種運算條件
170 = 10101010
170 and 136 = 136 (判斷 位元=1,結果成立)
170 or 223 = 255 (判斷 位元=0,結果不成立)
170 無法滿足上述兩種運算條件
沒有留言:
張貼留言