必ず受かる情報処理技術者試験

当サイトは、情報処理技術者試験に合格するためのWebサイトです。
ITパスポート試験,基本情報技術者,応用情報技術者,高度試験の過去問題と解答及び詳細な解説を掲載しています。
  1. トップページ
  2. 基本情報技術者
  3. 平成17年度秋季問題
  4. 平成17年度秋季解答・解説

平成17年度秋季解答

問題1

次の10進小数のうち、8進数に変換したときに有限小数になるものはどれか。

0.3
0.4
0.5
0.8

解答:ウ

<解説>

8進数における有限小数とは、小数部を8倍して小数部が0になる数値である。したがって、解答群それぞれを8進数に変換し、小数部が0になるものを見つければよい。

× 0.3(10)→0.23146(8)…:無限小数
  1. 0.3×8=2.4
  2. 0.4×8=3.2
  3. 0.2×8=1.6
  4. 0.6×8=4.8
  5. 0.8×8=6.4
× 0.4(10) →0.31463(8)…:無限小数
  1. 0.4×8=3.2
  2. 0.2×8=1.6
  3. 0.6×8=4.8
  4. 0.8×8=6.4
  5. 0.4×8=3.2
0.5(10) →0.4 (8):有限小数
  1. 0.5×8=4.0
× 0.8(10) →0.63146(8)…:無限小数
  1. 0.8×8=6.4
  2. 0.4×8=3.2
  3. 0.2×8=1.6
  4. 0.6×8=4.8
  5. 0.8×8=6.4

問題へ

問題2

0000 ~ 4999 のアドレスをもつハッシュ表があり、レコードのキー値からアドレスに変換するアルゴリズムとして基数変換法を用いる。キー値が 55550 のときのアドレスはどれか。ここで、基数変換法ではキー値を 11 進数とみなし、10 進数に変換した後、下4けたに対して 0.5 を乗じた結果 (小数点以下は切捨て) をレコードのアドレスとする。

0260
2525
2775
4405

解答:ア

<解説>

  1. 55550を11進数とみなし10進数に変換する。
      55550(11)
    = 5×114+5×113+5×112+5×111+0×110
    = 73205+6655+605+55+0
    = 80520(10)
  2. 下4けたに対して0.5を乗じた結果がレコードのアドレスとなる。
    = 0520×0.5
    = 0260

キーの値が55550のとき,アドレスは0260となるので正解はアである。

問題へ

問題3

整数mがレジスタに2進数として入っている。これを3ビット左にシフトしたものにmを加えると,結果は元のmの何倍になるか。ここで,あふれが生じることはないものとする。

4
7
8
9

解答:エ

<解説>

  1. mを3ビット左にシフトするのだから元の数の8倍になる。
    →23=8
  2. 1.の結果に元の数を加える為
    →8+1=9

よって、結果は元の m の「9」倍になります。正解はエである。

問題へ

問題4

p を2以上の整数とする。任意の整数 n に対して、
 n = kp + m (0 ≦ m < p )
を満たす整数 k と m が一意に存在する。この m を n の p による剰余といい、 n mod p で表す。 (-10000) mod 32768 に等しくなるものはどれか。

-(10000 mod 32768)
(-22768) mod 32768
10000 mod 32768
22768 mod 32768

解答:エ

<解説>

n=kp+m (0≦m<p)、 m=n mod p
m=-kp+n
m=-32768k+(-10000)
mは、0≦m<pでなければならないので、kが-1の時に条件を満たすmがある。
m=-32768×(-1)+(-10000)=22768
剰余22768になるものを解答群から探す。
× m=-32768k+10000
0≦m<p(=32768)なので,k=0
m=0×32768+10000=10000←10000 mod 32768
ですから,(1)は-10000
× n mod p= (-22768) mod 32768
m=-32768k+(-22768)
0≦m<p(=32768)なので,k=-1
m=32768-22768=10000
× m=-32768k+10000
0≦m<p(=32768)なので,k=0
m=0×32768+10000=10000←10000 mod 32768
ですから,(1)は10000
m=-32768k+22768
0≦m<p(=32768)なので,k=0
m=0*(-32768)+22768=22768

問題へ

問題5

多くのコンピュータが、演算回路を簡単にするために補数を用いている理由はどれか。

加算を減算で処理できる。
減算を加算で処理できる。
乗算を加算の組合せで処理できる。
除算を減算の組合せで処理できる。

解答:イ

<解説>

多くのコンピュータが,演算回路を簡単にするために補数を用いている理由は「減算を加算で処理できる」からである。

よってイが正解である。

問題へ