オリジナル模擬試験3 問1

負数を2の補数で表すとき,8けたの2進数nに対し-nを求める式はどれか。ここで,+は加算を表し,OR,XOR は,それぞれビットごとの論理和,排他的論理和を表す。

  • (n OR 10000000)+00000001
  • (n OR 11111110)+11111111
  • (n XOR 10000000)+11111111
  • (n XOR 11111111)+00000001
正解 問題へ
分野:テクノロジ系
中分類:基礎理論
小分類:離散数学
解説
2の補数とは,負数を表現する方法の1つです。ある正の数の2の補数を求めるには,すべてのビットを反転して1を加えます
この全ビットを反転するときに使われる論理演算が排他的論理和(XOR)です。排他的論理和には特徴があり、"XOR 1"(1との排他的論理和)の結果は演算元のビットが反転したもの(演算元が1なら0, 0なら1)、"XOR 0"(0との排他的論理和)の結果は演算元のビットそのままになります。
この特徴を生かして、あるビット列の中で特定の部分だけを反転させたい場合に、排他的論理和が用いられます。

つまり、-nを得るには、
  1. nの全ビットを反転する。(n XOR 11111111)
  2. 1の結果に1を加算する。(+00000001)
という演算を行うことになるため、正解は上記2つの演算を組み合わせた「(n XOR 11111111)+00000001」になります。

出典


Pagetop