サンプル問題 [科目A]問1
問1
負数を2の補数で表すとき,8ビットの2進正数nに対し-nを求める式はどれか。ここで,+は加算を表し,ORはビットごとの論理和,XORはビットごとの排他的論理和を表す。
- (n OR 10000000)+00000001
- (n OR 11111110)+11111111
- (n XOR 10000000)+11111111
- (n XOR 11111111)+00000001
- [出題歴]
- 基本情報技術者 H15春期 問3
分類
テクノロジ系 » 基礎理論 » 離散数学
正解
エ
解説
2の補数とは、負数を表現する方法の一つです。ある正数に対応する2の補数に求めるには、すべてのビットを反転して1を加えます。
この全ビットを反転するときに使われる論理演算が排他的論理和(XOR)です。排他的論理和には次のような特徴があります。
2進正数nから2の補数表現の-nを得るには、
この全ビットを反転するときに使われる論理演算が排他的論理和(XOR)です。排他的論理和には次のような特徴があります。
- 「XOR 0(0との排他的論理和)」の結果は元のビットそのままとなる
- 「XOR 1(1との排他的論理和)」の結果は元のビットを反転したビットとなる(0→1、1→0)
2進正数nから2の補数表現の-nを得るには、
- nの全ビットを反転する ⇒ n XOR 11111111
- ①の結果に1を加算する ⇒ +00000001