ITパスポート 2020年 秋期 問62
問題文
10進数155を2進数で表したものはどれか。
選択肢
ア:10011011(正解)
イ:10110011
ウ:11001101
エ:11011001
🔒 解説は解答すると表示されます
10進数155を2進数で表したものはどれか【ITパスポート 解説】
正解の理由
10進数(普通に使う数、例:155)を2進数(0と1だけで表す数)に直すと、ビット(各桁)の重みが の合計になります。155 を2進数にすると各重みを足して となるビット列「10011011」になります。したがって選択肢の中では ア が当てはまります。
(補足:2進数はコンピュータが使う表現で、右端が =1、左に行くほど =2、=4、… と倍になっていきます。)
解法ステップ
ここでは「2で割って余りを並べる方法」で示します。余りを下から上に読むと2進数になります。
- 余り
- 余り
- 余り
- 余り
- 余り
- 余り
- 余り
- 余り
余りを下から上に読むと:1 0 0 1 1 0 1 1 → 10011011 となります。これが2進数表記です。
確認(重みを足す):
選択肢別の誤答解説
-
ア: 10011011
→ 上述の通り 。よって正解。 -
イ: 10110011
→ 各ビットの重み:。155 ではありません。 -
ウ: 11001101
→ 各ビットの重み:。155 ではありません。 -
エ: 11011001
→ 各ビットの重み:。155 ではありません。
(各ビットの位置に を掛けて合計すれば、2進数を10進数に戻せます。)
よくある誤解
- 余りの並べ方を間違える(上から読む vs 下から読む)
- 割り算で出る余りは「最後に出た余りが左端」ではなく、「最後に出た余りが左端」になるので、通常は余りを下から上に読む点に注意してください。
- 桁の重み(右端が )を忘れる
- 右から数え始め、0番目が (1)、1番目が (2)です。これを逆にすると計算が全く違ってしまいます。
- 余分な桁(先頭の0)を気にしすぎる
- 例えば 0010011 は 10011 と同じ値です。先頭の0は数値に影響しません。
補足コラム
- 手早く確認したいときは「大きい2のべき乗を引いていく方法」でもできます。155 から を引くと 27、次に を引くと 11、さらに を引くと 3、 を引くと 1、最後に を引くと 0。取ったべき乗の位置に1を置けば同じ結果になります(10011011)。
- 実務的に確認する例(Python):
# 10進数 -> 2進数
bin(155) # 出力: '0b10011011'
format(155,'08b') # 出力: '10011011'(8ビット表示)
# 2進数 -> 10進数
int('10011011', 2) # 出力: 155
FAQ
Q. 2進数の桁数はどう決める?
A. 最小の桁数は、元の数を表せる最大の を超えないように決めます。例えば155は を使うので8桁(からまで)が必要です。先頭に0を付けて桁数を揃えることはよくあります(例:8ビット単位)。
A. 最小の桁数は、元の数を表せる最大の を超えないように決めます。例えば155は を使うので8桁(からまで)が必要です。先頭に0を付けて桁数を揃えることはよくあります(例:8ビット単位)。
Q. 0と1以外の数字は出てこないの?
A. 2進数は「基数2」なので桁の値は0か1のみです。10進数のように0〜9の数字は使いません。
A. 2進数は「基数2」なので桁の値は0か1のみです。10進数のように0〜9の数字は使いません。
Q. なぜコンピュータは2進数を使うの?
A. 電気回路で「オン(1)/オフ(0)」を扱いやすいためです。物理的に信頼性が高く、実装が簡単です。
A. 電気回路で「オン(1)/オフ(0)」を扱いやすいためです。物理的に信頼性が高く、実装が簡単です。
関連キーワード: 2進数変換、ビット、2の冪乗、進数変換、二進法、重み付き和、余り法、プログラミング補助

\ せっかくなら /
ITパスポートを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

