修了試験 2011-07-02実施分 基本情報技術者試験 問2
ある整数値を,負数を2の補数で表現する2進表記法で表すと最下位2ビットは“11”であった。 10進表記法のもとで,その整数値を4で割ったときの余りに関する記述として,適切なものはどれか。 ここで,除算の商は,絶対値の端数が切り捨てられるものとする。
正答1
解説
正解は1です。 2の補数表現では、正の数も負の数も、最下位2ビットは「その値を4で割った数学上の余り(0〜3)」を表します。 下位2ビットが11なら、その整数は4k+3(kは整数)の形です。 ただし本問の除算は商の絶対値を切り捨てるので、負の数では余りが負になります。 【選択肢別解説】 1:○ 正の整数で下位2ビットが11なら、3、7、11などの4k+3の形です。 正の数では切捨て除算の余りと数学上の余りが一致するので、余りは3です。 2:× 負の場合の余りは-3ではなく-1です。 例えば-1は2の補数で…11111111となり下位2ビットは11です。 -1÷4の商は0、余りは-1になります。 3:× 負の数を絶対値切捨てで割ると、余りは被除数と同じ符号の負になります。 例えば-5は…11111011で下位2ビットが11です。 -5÷4の商は-1、余りは-1で、3にはなりません。 4:× 下位2ビットが00であれば4で割り切れますが、本問は11です。 正なら3、負なら-1の余りが出るので、0にはなりません。 【ポイント】 2の補数では下位nビットが「2のn乗で割った数学上の余り」を表します。 「商を0に向けて切り捨てる」除算では、余りの符号が被除数の符号に一致することも押さえておきましょう。まとめて解く
修了試験 2011-07-02実施分を通しで解く(80問)→