ある整数値を,負数を2の補数で表現する2進表記法で表すと最下位2ビットは“11”であった。10進表記法の下で,その整数値を4で割ったときの余りに関する記述として,適切なものはどれか。ここで,除算の商は,絶対値の小数点以下を切り捨てるものとする。
- その整数値が正ならば3
- その整数値が負ならば−3
- その整数値が負ならば3
- その整数値の正負にかかわらず0
解答
ア
解説
2の補数は、ビットを反転させて1足したものになります。下表に、負数を2の補数で表現した例をいくつか挙げます。(添字は進数表示)
元の値₂ | 元の値₁₀ | 補数₂ | 補数₁₀ |
---|---|---|---|
00000001 | 1 | 11111111 | -1 |
00000011 | 3 | 11111101 | -3 |
00000101 | 5 | 11111011 | -5 |
00000111 | 7 | 11111001 | -7 |
- その整数値が正ならば3
適切です。
整数値が正ならば、最下位2ビットは“11”は10進数で3であり、かつそれより上位のビットは4の倍数になるため、4で割ったときの余りは3になります。 - その整数値が負ならば−3
整数値が負ならば-1になります。 - その整数値が負ならば3
整数値が負ならば-1になります。
(数学的には3が適切ですが、「除算の商は絶対値の小数点以下を切り捨てる」との条件から-1になります。) - その整数値の正負にかかわらず0
整数値が正ならば3、負ならば-1になります。
参考情報
分野・分類
分野 | テクノロジ系 |
大分類 | 基礎理論 |
中分類 | 基礎理論 |
小分類 | 離散数学 |
出題歴
- FE 平成30年度春期 問1