応用情報技術者

【応用情報 平成25年春期 午前問1】2進数の性質に関する問題

aを正の整数とし,b=a2とする。aを2進数で表現するとnビットであるとき,bを2進数で表現すると高々何ビットになるか。

 

ア  n+1

イ  2n

ウ  n2

エ  2n

2進数の性質を問う問題。

「高々何ビット」というのは「最大で何ビット」と同じ意味である。

nビットの数字の最大値は2n-1であるから、aがnビットの時のbの最大値は(2n-1)2となる。

そこで、いくつかnの値を代入してbの最大値を確かめてみる。

  • n = 1  ➡  bmax = (21-1)2 = 1(1ビット)  ➡  ビット数n
  • n = 2  ➡  bmax = (22-1)2 = 9(4ビット)  ➡  ビット数2n
  • n = 3  ➡  bmax = (23-1)2 = 49(6ビット)  ➡  ビット数2n
  • n = 4  ➡  bmax = (24-1)2 = 225(8ビット)  ➡  ビット数2n
  • n = 5  ➡  bmax = (25-1)2 =961(10ビット)  ➡  ビット数2n

n=1からn=5まで代入してみたが、bは高々2nビットになりそうだとわかる。

b = (2n-1)2 = 22n – (2n+1+1) < 22n(2n+1ビットの最小値) であるから、2nより大きいビット数になることはない

以上より、bは高々2nビットとなり、イが正解である。