基本情報トップに戻る
練習問題難易度: 標準2017年度

基本情報技術者 過去問練習問題 第1問

問題

数値を 2 進数で表すレジスタがある。このレジスタに格納されている正の整数 x を 10倍にする操作はどれか。ここで、桁あふれは起こらないものとする。

選択肢

  1. 1x を 2 ビット左にシフトした値に x を加算し、更に 1 ビット左にシフトする。
  2. 2x を 2 ビット左にシフトした値に x を加算し、更に 2 ビット左にシフトする。
  3. 3x を 3 ビット左にシフトした値に x を加算し、更に 2 ビット左にシフトした値を加算する。
  4. 4x を 3 ビット左にシフトした値に x を加算し、更に 1 ビット左にシフトする。

正解

1. x を 2 ビット左にシフトした値に x を加算し、更に 1 ビット左にシフトする。

詳しい解説を見る

解説

2 進数を n ビット左シフトすると値は 2ⁿ 倍になる。x を 2 ビット左シフトすると 4x、これに x を足すと 5x、さらに 1 ビット左シフトすると 2 倍されて 10x になる。よって「ア」が正しい。10 = (4 + 1) × 2 という分解を、シフトと加算で実現している点がポイントである。(出典: 平成29年度 秋期 基本情報技術者試験 午前 問1)

一問一答

科目A 180問+科目B 60問

練習問題の関連問題

この調子で演習を続けよう

スキマ資格では基本情報の全2398問を分野別・難易度別に体系的に学習できます。基本情報技術者は科目A(広く浅く)と科目B(プログラミング・アルゴリズム)の両輪での対策が必要です。