- トップページ
- 基本情報技術者
- 平成17年度秋季問題
- 平成17年度秋季解答・解説
平成17年度秋季解答
問題1
次の10進小数のうち、8進数に変換したときに有限小数になるものはどれか。
ア | 0.3 |
イ | 0.4 |
ウ | 0.5 |
エ | 0.8 |
解答:ウ
<解説>
8進数における有限小数とは、小数部を8倍して小数部が0になる数値である。したがって、解答群それぞれを8進数に変換し、小数部が0になるものを見つければよい。
ア | × | 0.3(10)→0.23146(8)…:無限小数
|
イ | × | 0.4(10)
→0.31463(8)…:無限小数
|
ウ | ○ | 0.5(10)
→0.4
(8):有限小数
|
エ | × | 0.8(10)
→0.63146(8)…:無限小数
|
問題2
0000 ~ 4999 のアドレスをもつハッシュ表があり、レコードのキー値からアドレスに変換するアルゴリズムとして基数変換法を用いる。キー値が 55550 のときのアドレスはどれか。ここで、基数変換法ではキー値を 11 進数とみなし、10 進数に変換した後、下4けたに対して 0.5 を乗じた結果 (小数点以下は切捨て) をレコードのアドレスとする。
ア | 0260 |
イ | 2525 |
ウ | 2775 |
エ | 4405 |
解答:ア
<解説>
- 55550を11進数とみなし10進数に変換する。
55550(11) = 5×114+5×113+5×112+5×111+0×110 = 73205+6655+605+55+0 = 80520(10) - 下4けたに対して0.5を乗じた結果がレコードのアドレスとなる。
= 0520×0.5 = 0260
キーの値が55550のとき,アドレスは0260となるので正解はアである。
問題3
整数mがレジスタに2進数として入っている。これを3ビット左にシフトしたものにmを加えると,結果は元のmの何倍になるか。ここで,あふれが生じることはないものとする。
ア | 4 |
イ | 7 |
ウ | 8 |
エ | 9 |
解答:エ
<解説>
- mを3ビット左にシフトするのだから元の数の8倍になる。
→23=8 - 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
多くのコンピュータが、演算回路を簡単にするために補数を用いている理由はどれか。
ア | 加算を減算で処理できる。 |
イ | 減算を加算で処理できる。 |
ウ | 乗算を加算の組合せで処理できる。 |
エ | 除算を減算の組合せで処理できる。 |
解答:イ
<解説>
多くのコンピュータが,演算回路を簡単にするために補数を用いている理由は「減算を加算で処理できる」からである。
よってイが正解である。
お問い合わせ