本文へスキップ

技術士試験(情報工学部門)・情報技術者試験。ファーストマクロ。


Since 2016.4.19

平成29年度 秋期 基本情報技術者試験問題と解説

問1

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

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

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

ウ x を3ビット左にシフトした値と、xを2ビット左にシフトした値を加算する。

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


正解


解説

2進数を元の値から nビット左にシフトすると、2n倍になり、nビット右にシフトすると、 (1/2)n倍になる。

ア 正しい。(x × 22x) × 2 = 5x × 2 = 10x で、10倍になる

イ (x × 22x) × 22 = 5x × 4 = 20x で、20倍になる。

ウ x × 23x × 22 = 8x × 4x = 12x で、12倍になる。

エ (x × 23x) × 2 = 9x × 2 = 18x で、18倍になる。

目次 問2