十進数を二進数に変換するときの桁の確かめ方
ITパスポート試験 令和2年度10月 問62 / 基礎理論 › 離散数学
過去問にチャレンジ
10進数155を2進数で表したものはどれか。
- ア
10011011
- イ
10110011
- ウ
11001101
- エ
11011001
会話形式の解説
講師この問題では、二進数の各桁が表す値に注目します。1になっている桁の値を足せば、選択肢を確かめられます。
受験者右から1、2、4、8と倍になるのでしたね。左端は128ですが、155をどう分ければよいか迷います。
講師155は128+16+8+2+1です。使う桁を1、使わない桁を0にすると、10011011になります。
受験者32、64、4の桁は使わないので0ですね。1の桁を足し直しても155になります。
講師そのとおりです。10011011が正解です。似た並びの10110011も、1の桁を足してみましょう。
受験者10110011は128+32+16+2+1で179です。155より大きいですね。
講師11001101は128+64+8+4+1で205です。こちらも155にはなりません。
受験者11011001も左から二番目の64の桁が1です。これはいくつになりますか。
講師128+64+16+8+1で217です。したがって、この並びも違います。
受験者形が似ていても、1が立つ桁の値を足せば、それぞれの違いを確かめられますね。
講師はい。左端から順に足すと見落としを防げます。変換には、155を2で繰り返し割り、余りを得た順と逆に並べる方法もあります。
まとめ
二進数の各桁が表す値は、右から左へ進むたびに2倍になります。155は128+16+8+2+1なので、対応する桁を1にした10011011が正解です。選択肢に迷ったら、1が立っている桁の値を足し、元の数と一致するか検算します。
解答・解説
正解はアです
この問題のテーマ
10進数を2進数に変換し、各桁の値から結果を確かめる問題です。
解き方の考え方
2進数の桁の重みは右から1、2、4、8と倍になり、左端の桁は128です。155をこれらの値の和に分けると、155=128+16+8+2+1になります。使う桁を1、使わない桁を0にすると10011011なので、正解はアです。
選択肢ごとの解説
- ○ア 10011011アの10011011では、1が立っている桁の値を足すと128+16+8+2+1=155です。問題の10進数と一致するため、正解です。
- ×イ 10110011イの10110011では、1が立っている桁の値の合計は128+32+16+2+1=179です。155より大きいため、該当しません。
- ×ウ 11001101ウの11001101では、1が立っている桁の値の合計は128+64+8+4+1=205です。155にはならないため、該当しません。
- ×エ 11011001エの11011001では、1が立っている桁の値の合計は128+64+16+8+1=217です。155にはならないため、該当しません。
補足
別の解き方として、155を2で繰り返し割り、各回の余りを得た順と逆に並べても変換できます。選択肢を確かめるときは、桁の値を左端から順に足すと見落としを防げます。
POINT
- 2進数の各桁の重みは、右から左へ進むたびに2倍になります。
- 10進数を2進数にするときは、数を桁の重みの和に分けます。
- 和に使った桁を1、使わなかった桁を0として並べます。
- 得られた2進数は、1が立つ桁の値を足して元の数になるか検算します。
