テクノロジ系1 / 80問
応用情報技術者試験 令和5年度 秋期 午前 問1
2 桁の 2 進数 x₁x₂ が表す整数を x とする。2 進数 x₂x₁ が表す整数を、x の式で表したものはどれか。ここで、int(r) は非負の実数 r の小数点以下を切り捨てた整数を表す。
選択肢を押すと答え合わせができます。
正解と解説を見る
【正解】ウ
2進数x₁x₂では、上位ビットx₁の重みが2、下位ビットx₂の重みが1なので、x=2x₁+x₂です。xは0~3であり、xを2で割って小数点以下を切り捨てると、int(x/2)=x₁になります。ここでq=int(x/2)と置くと、x₂=x-2qです。桁を交換したx₂x₁の値は2x₂+x₁なので、2(x-2q)+q=2x-3q=2x-3int(x/2)となります。したがって、ウが正解です。
アの2x+4int(x/2)は誤りです。例えばx=2、すなわち10を反転すると01=1ですが、この式では8になります。上位ビットの重みを取り除く処理ができていません。
イの2x+5int(x/2)も誤りです。同じくx=2を代入すると9となり、反転後の値1と一致しません。
エの2x-4int(x/2)も誤りです。x=2では0となりますが、反転した01の値は1です。下位側へ移したx₁の重み1が加えられていません。
【ポイント】 2進数の各桁は、右から順に1、2、4、8という重みをもちます。 2桁の非負整数では、int(x/2)によって上位ビットを取り出せます。 迷ったときは、00、01、10、11の全4通りで式を検算すると確実です。
出典:令和5年度 秋期 応用情報技術者試験 午前 問1
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。
この回の80問を、アプリで通しで解く
- 本番と同じ問題数・制限時間で通し演習(模試モード)
- 間違えた問題は自動で「復習すべき問題」に回る
- 解説で分からない点はAIに質問できる