情報処理技術者試験(今のところは基本情報技術者試験)の過去問(基礎理論-離散数学)を集めて,シンプルにまとめています。2進数や基数変換,数値表現(2の補数,固定小数点数,浮動小数点数など),集合と論理演算・論理回路(和集合,積集合,補集合,論理和,論理積,否定,排他的論理和,ビット列の操作(ビットの反転など),真理値表,ベン図など),算術演算と誤差(シフト演算,桁落ち,情報落ちなど)について,理解度を確認することができます。解けなかった問題や,完全に理解できていない問題については,【参考】にあるリンク先ページを読んで,もう一度,解いてみてください。難しい問題もあると思いますが,繰り返し解くことにより,だんだんと身に付いてきますので,根気よく頑張りましょう。
- 平成26年度 基本情報技術者試験 春期 午前 問1
- 平成24年度 基本情報技術者試験 春期 午前 問1
- 平成26年度 基本情報技術者試験 秋期 午前 問1
- 平成22年度 基本情報技術者試験 春期 午前 問1
- 令和5年度 基本情報技術者試験 公開問題 科目A 問1
- 平成30年度 基本情報技術者試験 秋期 午前 問1
- 平成22年度 基本情報技術者試験 秋期 午前 問1
- 平成26年度 基本情報技術者試験 秋期 午前 問2
- 平成21年度 基本情報技術者試験 春期 午前 問2
- 平成24年度 基本情報技術者試験 秋期 午前 問4
- 平成23年度 基本情報技術者試験 秋期 午前 問2
- 平成21年度 基本情報技術者試験 秋期 午前 問2
- 平成29年度 基本情報技術者試験 春期 午前 問2
- (令和4年度) 基本情報技術者試験 サンプル問題 科目A 問3
- 平成31年度 基本情報技術者試験 春期 午前 問3
- 平成22年度 基本情報技術者試験 春期 午前 問2
- 平成25年度 基本情報技術者試験 秋期 午前 問1
- 平成29年度 基本情報技術者試験 春期 午前 問1
- 平成26年度 基本情報技術者試験 春期 午前 問3
- 平成23年度 基本情報技術者試験 特別 午前 問1
- 平成21年度 基本情報技術者試験 春期 午前 問3
- 平成29年度 基本情報技術者試験 春期 午前 問3
- (令和4年度) 基本情報技術者試験 サンプル問題 科目A 問1
- 平成30年度 基本情報技術者試験 秋期 午前 問2
- 平成27年度 基本情報技術者試験 春期 午前 問1
- 平成31年度 基本情報技術者試験 春期 午前 問2
- 平成26年度 基本情報技術者試験 春期 午前 問2
- 平成28年度 基本情報技術者試験 秋期 午前 問1
- 令和元年度 基本情報技術者試験 秋期 午前 問2
- 平成28年度 基本情報技術者試験 春期 午前 問1
- 平成21年度 基本情報技術者試験 春期 午前 問1
- 平成29年度 基本情報技術者試験 秋期 午前 問1
- 平成24年度 基本情報技術者試験 春期 午前 問2
- 平成28年度 基本情報技術者試験 秋期 午前 問4
- 平成26年度 基本情報技術者試験 秋期 午前 問3
- 平成25年度 基本情報技術者試験 秋期 午前 問2
- 平成24年度 基本情報技術者試験 秋期 午前 問1
- 平成31年度 基本情報技術者試験 春期 午前 問1
- 平成27年度 基本情報技術者試験 秋期 午前 問1
- 平成30年度 基本情報技術者試験 春期 午前 問1
- 平成25年度 基本情報技術者試験 春期 午前 問1
- 平成23年度 基本情報技術者試験 秋期 午前 問1
- 平成23年度 基本情報技術者試験 春期 午前 問2
- 平成27年度 基本情報技術者試験 春期 午前 問2
- 平成22年度 基本情報技術者試験 秋期 午前 問2
- まとめ
平成26年度 基本情報技術者試験 春期 午前 問1
問 次の10進小数のうち,2進数で表すと無限小数になるものはどれか。
ア 0.05 | イ 0.125 | ウ 0.375 | エ 0.5 |
【解答】ア
【解説】
各選択肢の10進小数の値を,それぞれ2進数に変換すると,
となる。
平成24年度 基本情報技術者試験 春期 午前 問1
問 次の10進小数のうち,8進数に変換したときに有限小数になるものはどれか。
ア 0.3 | イ 0.4 | ウ 0.5 | エ 0.8 |
【解答】ウ
【解説】
各選択肢の10進小数の値を,それぞれ8進数に変換すると,
となる。
平成26年度 基本情報技術者試験 秋期 午前 問1
問 10進数の分数132を16進数の小数で表したものはどれか。
ア 0.01 | イ 0.02 | ウ 0.05 | エ 0.08 |
【解答】エ
【解説】
10進数の分数132は,
132 = 8256 = 8162 = 8 × 16-2
となり,これを16進数に変換すると,
0.08
となる。
【別解】
10進数の分数132は,
132 = 1 ÷ 32 = 0.03125
であり,これを16進数に変換すると,
となる。
平成22年度 基本情報技術者試験 春期 午前 問1
問 16進小数2A.4Cと等しいものはどれか。
ア 25+23+21+2-2+2-5+2-6 | イ 25+23+21+2-1+2-4+2-5 |
ウ 26+24+22+2-2+2-5+2-6 | エ 26+24+22+2-1+2-4+2-5 |
【解答】ア
【解説】
16進数1桁は,2進数4桁に対応するので,16進数の各桁を,それぞれ2進数に変換すればよい。
よって,16進小数2A.4Cは,
25 + 23 + 21 + 2-2 + 2-5 + 2-6
と表すことができる。
令和5年度 基本情報技術者試験 公開問題 科目A 問1
問 16進小数0.Cを10進小数に変換したものはどれか。
ア 0.12 | イ 0.55 | ウ 0.75 | エ 0.84 |
【解答】ウ
【解説】
10進数と16進数の対応を表にすると,次のようになる。
よって,16進小数0.Cを10進小数に変換すると,
12 × 16-1 = 1216 = 34 = 0.75
となる。
平成30年度 基本情報技術者試験 秋期 午前 問1
問 16進数の小数0.248を10進数の分数で表したものはどれか。
ア 3132 | イ 31125 | ウ 31512 | エ 73512 |
【解答】エ
【解説】
16進数の小数0.248を10進数に変換すると,
2 × 16-1 + 4 × 16-2 + 8 × 16-3
= 216 + 4256 + 84096
= 216 + 4256 + 1512
= 64 + 8 + 1512
= 73512
となる。
平成22年度 基本情報技術者試験 秋期 午前 問1
問 16進小数3A.5Cを10進数の分数で表したものはどれか。
ア 93916 | イ 373564 | ウ 14939256 | エ 14941256 |
【解答】イ
【解説】
10進数と16進数の対応を表にすると,次のようになる。
よって,16進数の小数3A.5Cを10進数に変換すると,
3 × 161 + 10 × 160 + 5 × 16-1 + 12 × 16-2
= 48 + 10 + 516 + 12256
= 12288 + 2560 + 80 + 12256
= 14940256
= 373564
となる。
平成26年度 基本情報技術者試験 秋期 午前 問2
平成21年度 基本情報技術者試験 春期 午前 問2
問 0000~4999のアドレスをもつハッシュ表があり,レコードのキー値からアドレスに変換するアルゴリズムとして基数変換法を用いる。キー値が55550のときのアドレスはどれか。ここでの基数変換法は,キー値を11進数とみなし,10進数に変換した後,下4桁に対して0.5を乗じた結果(小数点以下は切捨て)をレコードのアドレスとする。
ア 0260 | イ 2525 | ウ 2775 | エ 4405 |
【解答】ア
【解説】
キー値が55550のときのアドレスを求めるには,まず,11進数から10進数に変換する必要がある。
5 × 114 + 5 × 113 + 5 × 112 × 5 × 111 + 0 × 110
= 5 × 11 ( 113 + 112 + 11 + 1 )
= 55 ( 1331 + 121 + 11 + 1 )
= 55 × 1464
= 80520
次に,10進数に変換したキー値(80520)から下4桁を取り出す。
80520の下4桁は,0520
そして,この値に0.5を掛けると,キー値が55550のときのアドレスを求めることができる。
520 × 0.5 = 260
平成24年度 基本情報技術者試験 秋期 午前 問4
問 英字の大文字(A~Z)と数字(0~9)を同一のビット数で一意にコード化するには,少なくとも何ビット必要か。
ア 5 | イ 6 | ウ 7 | エ 8 |
【解答】イ
【解説】
英字の大文字(A~Z)26種類と,数字(0~9)10種類を合わせた計36種類を表現できるビット数nを求めればよいので,
2n > 36
を満たす最も小さいnの値を求めればよい。
21 = 2
22 = 4
23 = 8
24 = 16
25 = 32
26 = 64
よって,
n = 6
となる。
平成23年度 基本情報技術者試験 秋期 午前 問2
問 10進数-5.625を,8ビット固定小数点形式による2進数で表したものはどれか。ここで,小数点位置は3ビット目と4ビット目の間とし,負数には2の補数表現を用いる。
ア 01001100 | イ 10100101 | ウ 10100110 | エ 11010011 |
【解答】ウ
【解説】
10進数-5.625を,8ビット固定小数点形式(小数点位置は3ビット目と4ビット目の間,負数は2の補数表現)にすると,
となる。
ちなみに,5.265を2進数に変換する方法は,次のとおりである(整数部と小数部を,それぞれ変換する)。
【参考】 | 「数値表現 -情報処理シンプルまとめ」 |
平成21年度 基本情報技術者試験 秋期 午前 問2
問 実数aをa=f×reと表す浮動小数点表示に関する記述として,適切なものはどれか。
ア fを仮数,eを指数,rを基数という。
イ fを基数,eを仮数,rを指数という。
ウ fを基数,eを指数,rを仮数という。
エ fを指数,eを基数,rを仮数という。
【解答】ア
【解説】
浮動小数点数は,次のように表現される。
【参考】 | 「数値表現-浮動小数点数 -情報処理シンプルまとめ」 |
平成29年度 基本情報技術者試験 春期 午前 問2
問 0以外の数値を浮動小数点表示で表現する場合,仮数部の最上位桁が0以外になるように,桁合わせする操作はどれか。ここで,仮数部の表現方法は,絶対値表現とする。
ア 切上げ | イ 切捨て | ウ 桁上げ | エ 正規化 |
【解答】エ
【解説】
浮動小数点表示において,仮数部の最上位桁が0以外になるように桁合わせする操作は,正規化という。
【参考】 | 「数値表現-浮動小数点数 -情報処理シンプルまとめ」 |
(令和4年度) 基本情報技術者試験 サンプル問題 科目A 問3
平成31年度 基本情報技術者試験 春期 午前 問3
問 P,Q,Rはいずれも命題である。命題Pの真理値は真であり,命題(not P)or Q 及び命題(not Q)or R のいずれの真理値も真であることが分かっている。Q,Rの真理値はどれか。ここで,X or Y はXとYの論理和,not X はXの否定を表す。
Q | R | |
ア | 偽 | 偽 |
イ | 偽 | 真 |
ウ | 真 | 偽 |
エ | 真 | 真 |
【解答】エ
【解説】
命題Pの真理値が真,命題(not P)or Q の真理値が真なので,
(not P)or Q = 真
⇒ 偽 or Q = 真
となり,これを満たす命題Qの真理値は,
Q = 真
となる。
また,同様に,命題(not Q)or R の真理値が真なので,
(not Q)or R = 真
⇒ 偽 or R = 真
となり,これを満たす命題Rの真理値は,
R = 真
となる。
平成22年度 基本情報技術者試験 春期 午前 問2
問 X及びYはそれぞれ0又は1の値をとる変数である。X□YをXとYの論理演算としたとき,次の真理値表が得られた。X□Yの真理値表はどれか。
X | Y | X AND (X □ Y) | X OR (X □ Y) |
0 | 0 | 0 | 1 |
0 | 1 | 0 | 1 |
1 | 0 | 0 | 1 |
1 | 1 | 1 | 1 |
ア | イ |
ウ | エ |
【解答】ウ
【解説】
X AND (X □ Y)が問の真理値表のような結果になる場合,X□Yの真理値は,
となる。
次に,X OR (X □ Y)が問の真理値表のような結果になる場合,X□Yの真理値は,
となる。
よって,X□Yの真理値は,
となる。
平成25年度 基本情報技術者試験 秋期 午前 問1
問 集合(A∩B∩C)∪(A∩B∩C)を網掛け部分( )で表しているベン図はどれか。ここで,∩は積集合,∪は和集合,XはXの補集合を表す。
ア | イ |
ウ | エ |
【解答】ウ
【解説】
ベン図で考えると,
となる。
平成29年度 基本情報技術者試験 春期 午前 問1
問 集合A,B,Cを使った等式のうち,集合A,B,Cの内容によらず常に成立する等式はどれか。ここで,∪は和集合,∩は積集合を示す。
ア (A ∪ B) ∩ (A ∩ C) = B ∩ (A ∪ C)
イ (A ∪ B) ∩ C = (A ∪ C) ∩(B ∪ C)
ウ (A ∩ C) ∪ (B ∩ A) = (A ∩ B) ∪ (B ∩ C)
エ (A ∩ C) ∪ (B ∩ C) = (A ∪ B) ∩ C
【解答】エ
【解説】
ベン図で考えると,
となる。
平成26年度 基本情報技術者試験 春期 午前 問3
問 論理式 A・B・C+A・B・C+A・B・C+A・B・C と恒等的に等しいものはどれか。ここで,・は論理積,+は論理和,AはAの否定を表す。
ア A・B・C | イ A・B・C+A・B・C |
ウ A・B+B・C | エ C |
【解答】エ
【解説】
ベン図で考えると,
となる。
平成23年度 基本情報技術者試験 特別 午前 問1
平成21年度 基本情報技術者試験 春期 午前 問3
問 論理式(A+B)・(A+C)と等しいものはどれか。ここで,・は論理積,+は論理和,XはXの否定を表す。
ア A・B+A・C | イ A・B+A・C |
ウ (A+B)・(A+C) | エ (A+B)・(A+C) |
【解答】ア
【解説】
まず,問題の論理式をベン図で表すと,
となり,各選択肢の論理式をベン図で表すと,
となる。
平成29年度 基本情報技術者試験 春期 午前 問3
問 XとYの否定論理積X NAND Yは,NOT(X AND Y)として定義される。X OR YをNANDだけを使って表した論理式はどれか。
ア ((X NAND Y) NAND X) NAND Y
イ (X NAND X) NAND (Y NAND Y)
ウ (X NAND Y) NAND (X NAND Y)
エ X NAND (Y NAND (X NAND Y))
【解答】イ
【解説】
ベン図で考えると,
となる。
(令和4年度) 基本情報技術者試験 サンプル問題 科目A 問1
問 負数を2の補数で表すとき,8ビットの2進正数nに対し-nを求める式はどれか。ここで,+は加算を表し,ORはビットごとの論理和,XORはビットごとの排他的論理和を表す。
ア (n OR 10000000) + 00000001 | イ (n OR 11111110) + 11111111 |
ウ (n XOR 10000000) + 11111111 | エ (n XOR 11111111) + 00000001 |
【解答】エ
【解説】
たとえば,-3を例に考えてみる。
よって,8ビットの2進正数nに対する-nを求めるには,
① nの各桁のビットを反転する(XOR:排他的論理和)
② ①の値に1(00000001)を加える
という演算を行えばよい。
平成30年度 基本情報技術者試験 秋期 午前 問2
平成27年度 基本情報技術者試験 春期 午前 問1
問 次に示す手順は,列中の少なくとも一つは1であるビット列が与えられたとき,最も右にある1を残し,他のビットを全て0にするアルゴリズムである。例えば,00101000が与えられたとき,00001000が求まる。aに入る論理演算はどれか。
手順1 与えられたビット列Aを符号なしの2進数と見なし,Aから1を引き,結果をBとする。
手順2 AとBの排他的論理和(XOR)を求め,結果をCとする。
手順3 AとCの a を求め,結果をAとする。
ア 排他的論理和(XOR) | イ 否定論理積(NAND) |
ウ 論理積(AND) | エ 論理和(OR) |
【解答】ウ
【解説】
手順1と手順2より,Cは,
となる。
手順3では,最も右にある1を残し,他のビットを全て0にする論理演算であればよいので,
となる。
平成31年度 基本情報技術者試験 春期 午前 問2
平成26年度 基本情報技術者試験 春期 午前 問2
問 最上位をパリティビットとする8ビット符号において,パリティビット以外の下位7ビットを得るためのビット演算はどれか。
ア 16進数0FとのANDをとる。
イ 16進数0FとのORをとる。
ウ 16進数7FとのANDをとる。
エ 16進数FFとのXOR(排他的論理和)をとる。
【解答】ウ
【解説】
適当な8ビットのビット列(ここでは,1100 0101)で考えればよい。
ちなみに,16進数0F,7F,FFのビット列は,
0F ⇒ 0000 1111
7F ⇒ 0111 1111
FF ⇒ 1111 1111
となる。
【参考】 | 「基数変換 -情報処理シンプルまとめ」 「集合と論理演算・論理回路-ビット列の操作 -情報処理シンプルまとめ」 パリティビットに関するリンク |
平成28年度 基本情報技術者試験 秋期 午前 問1
問 8ビットのビット列の下位4ビットが変化しない操作はどれか。
ア 16進表記0Fのビット列との排他的論理和をとる。
イ 16進表記0Fのビット列との否定論理積をとる。
ウ 16進表記0Fのビット列との論理積をとる。
エ 16進表記0Fのビット列との論理和をとる。
【解答】ウ
【解説】
適当な8ビットのビット列(ここでは,1100 0101)で考えればよい。
ちなみに,16進表記0Fのビット列は,
0F ⇒ 0000 1111
となる。
令和元年度 基本情報技術者試験 秋期 午前 問2
問 8ビットの値の全ビットを反転する操作はどれか。
ア 16進表記00のビット列と排他的論理和をとる。
イ 16進表記00のビット列と論理和をとる。
ウ 16進表記FFのビット列と排他的論理和をとる。
エ 16進表記FFのビット列と論理和をとる。
【解答】ウ
【解説】
適当な8ビットのビット列(ここでは,1100 0101)で考えればよい。
ちなみに,16進表記00,FFのビット列は,
00 ⇒ 0000 0000
FF ⇒ 1111 1111
となる。
平成28年度 基本情報技術者試験 春期 午前 問1
平成21年度 基本情報技術者試験 春期 午前 問1
問 数値を2進数で格納するレジスタがある。このレジスタに正の整数xを設定した後,“レジスタの値を2ビット左にシフトして,xを加える”操作を行うと,レジスタの値はxの何倍になるか。ここで,あふれ(オーバーフロー)は,発生しないものとする。
ア 3 | イ 4 | ウ 5 | エ 6 |
【解答】ウ
【解説】
正の整数xを2ビット左にシフトすると,
x × 22 = 4x(xの4倍)
となり,この値にxを加えると,
4x + x = 5x(xの5倍)
となる。
【参考】 | 「算術演算と誤差 -情報処理シンプルまとめ」 |
平成29年度 基本情報技術者試験 秋期 午前 問1
問 数値を2進数で表すレジスタがある。このレジスタに格納されている正の整数xを10倍にする操作はどれか。ここで,桁あふれは起こらないものとする。
ア xを2ビット左にシフトした値にxを加算し,更に1ビット左にシフトする。
イ xを2ビット左にシフトした値にxを加算し,更に2ビット左にシフトする。
ウ xを3ビット左にシフトした値と,xを2ビット左にシフトした値を加算する。
エ xを3ビット左にシフトした値にxを加算し,更に1ビット左にシフトする。
【解答】ア
【解説】
2進数のビット列は,1ビット左にシフトすると2倍(=21倍),2ビット左にシフトすると4倍(=22倍),…,nビット左にシフトすると2n倍になる。
ア x × 22 = 4x
⇒ 4x + x = 5x
⇒ 5x × 21 = 10x
⇒ 10倍
イ x × 22 = 4x
⇒ 4x + x = 5x
⇒ 5x × 22 = 20x
⇒ 20倍
ウ x × 23 = 8x,x × 22 = 4x
⇒ 8x + 4x = 12x
⇒ 12倍
エ x × 23 = 8x
⇒ 8x + x = 9x
⇒ 9x × 21 = 18x
⇒ 18倍
【参考】 | 「算術演算と誤差 -情報処理シンプルまとめ」 |
平成24年度 基本情報技術者試験 春期 午前 問2
問 非負の2進数b1b2…bnを3倍にしたものはどれか。
ア b1b2…bn0+b1b2…bn
イ b1b2…bn00-1
ウ b1b2…bn000
エ b1b2…bn1
【解答】ア
【解説】
2進数のビット列は,1ビット左にシフトすると2倍(=21倍),2ビット左にシフトすると4倍(=22倍),…,nビット左にシフトすると2n倍になる。
ア b1b2…bnを1ビット左にシフトした値(2倍)にb1b2…bnを加えた値なので,
b1b2…bnの3倍
の値となる。
イ b1b2…bnを2ビット左にシフトした値(4倍)から1を引いた値となる。
ウ b1b2…bnを3ビット左にシフトした値(8倍)値となる。
エ b1b2…bnを1ビット左にシフトした値に1を加えた値となる。
【参考】 | 「算術演算と誤差 -情報処理シンプルまとめ」 |
平成28年度 基本情報技術者試験 秋期 午前 問4
平成26年度 基本情報技術者試験 秋期 午前 問3
問 32ビットで表現できるビットパターンの個数は,24ビットで表現できる個数の何倍か。
ア 8 | イ 16 | ウ 128 | エ 256 |
【解答】エ
【解説】
32ビットと24ビットの差は,
32 - 24 = 8(ビット)
である。1ビットの場合は,0,1の2(21)種類を,2ビットの場合は,00,01,10,11の4(22)種類を,3ビットの場合は,000,001,010,011,100,101,110,111の8(23)種類を…,というように,1桁増えるごとに表現できるビットパターンは2倍になる。よって,8ビットでは,
28 = 256(倍)
となる。
平成25年度 基本情報技術者試験 秋期 午前 問2
問 32ビットのレジスタに16進数ABCDが入っているとき,2ビットだけ右に論理シフトした値はどれか。
ア 2AF3 | イ 6AF3 | ウ AF34 | エ EAF3 |
【解答】ア
【解説】
16進数ABCDを2進数に変換すると,
となり,この値を2ビット右に論理シフトすると,
となる。この値を16進数に変換すると,
となる。
平成24年度 基本情報技術者試験 秋期 午前 問1
問 8ビットの2進数11010000を右に2ビット算術シフトしたものを,00010100から減じた値はどれか。ここで,負の数は2の補数表現によるものとする。
ア 00001000 | イ 00011111 | ウ 00100000 | エ 11100000 |
【解答】ウ
【解説】
8ビットの2進数11010000を右に2ビット算術シフトすると,
のように,11110100となり,この値を00010100から減じると,
となる。
【参考】 | 「算術演算と誤差 -情報処理シンプルまとめ」 |
平成31年度 基本情報技術者試験 春期 午前 問1
平成27年度 基本情報技術者試験 秋期 午前 問1
問 10進数の演算式7÷32の結果を2進数で表したものはどれか。
ア 0.001011 | イ 0.001101 | ウ 0.00111 | エ 0.0111 |
【解答】ウ
【解説】
10進数の演算式7÷32は,
7 ÷ 25
と変形することができる。
よって,10進数の7を2進数に変換し,その値を,5ビット右にシフトすれば,10進数の演算式7÷32の結果を2進数で表すことができる。
平成30年度 基本情報技術者試験 春期 午前 問1
問 ある整数値を,負数を2の補数で表現する2進表記法で表すと最下位2ビットは“11”であった。10進表記法の下で,その整数値を4で割ったときの余りに関する記述として,適切なものはどれか。ここで,除算の商は,絶対値の小数点以下を切り捨てるものとする。
ア その整数値が正ならば3
イ その整数値が負ならば-3
ウ その整数値が負ならば3
エ その整数値の正負にかかわらず0
【解答】ア
【解説】
ある整数値が正の場合,2進表記法で最下位2ビットが”11″である数値を4で割ると,
のように,余りは必ず3となる。
ある整数値が負の場合,2進表記法で最下位2ビットが”11″である数値を4で割ると,
のようになるが,除算の商は,絶対値の小数点以下を切り捨てるものとするとあるので,この場合,余りは必ず-1となる。
平成25年度 基本情報技術者試験 春期 午前 問1
平成23年度 基本情報技術者試験 秋期 午前 問1
問 16ビットの2進数nを16進数の各桁に分けて,下位の桁から順にスタックに格納するために,次の手順を4回繰り返す。a,bに入る適切な語句の組み合わせはどれか。ここで,XXXX16は16進数XXXXを表す。
〔手順〕
(1) a をxに代入する。
(2) xをスタックにプッシュする。
(3) nを b 論理シフトする。
a | b | |
ア | n AND 000F16 | 左に4ビット |
イ | n AND 000F16 | 右に4ビット |
ウ | n AND FFF016 | 左に4ビット |
エ | n AND FFF016 | 右に4ビット |
【解答】イ
【解説】
たとえば,n=1101 0111 1010 1001として考えてみる。
〔手順〕(1)は,nの下位4ビットを取り出してxに代入する操作(2進数4桁が16進数1桁に当たるため)なので,
のように,nと16進数000Fとの論理和を求めればよい。
次に,(2)で,求めたxをスタックにプッシュする。
(3)は,(1)で取り出したnの下4桁を取り除いて,(1)で次の4桁(16進数の下から2桁目)を取り出せるようにするため,
のように,nを右に4ビットシフトする。
あとは,これを繰り返すことにより,16進数の各桁を下位の桁から順に取り出すことができる(1001,1010,0111,1101の順にスタックに格納される)。
※スタック…後入れ先出しのデータ構造
平成23年度 基本情報技術者試験 春期 午前 問2
問 三つの実数X~Zとそれぞれの近似値が次の場合,相対誤差の小さい順に並べたものはどれか。
ア X,Y,Z | イ Y,Z,X | ウ Z,X,Y | エ Z,Y,X |
【解答】エ
【解説】
X~Z,それぞれの相対誤差は,
X:| 1-1.02 |1.02 ≠ 0.019…
Y:| 2-1.97 |1.97 ≠ 0.015…
Z:| 5-5.05 |5.05 ≠ 0.009…
となる。
平成27年度 基本情報技術者試験 春期 午前 問2
平成22年度 基本情報技術者試験 秋期 午前 問2
問 桁落ちの説明として,適切なものはどれか。
ア 値がほぼ等しい浮動小数点数同士の減算において,有効桁数が大幅に減ってしまうことである。
イ 演算結果が,扱える数値の最大値を超えることによって生じるエラーのことである。
ウ 浮動小数点数の演算結果について,最小の桁よりも小さい部分の四捨五入,切上げ又は切捨てを行うことによって生じる誤差のことである。
エ 浮動小数点数の加算において,一方の数値の下位の桁が結果に反映されないことである。
【解答】ア
【解説】
イ オーバーフローの説明
ウ 丸め誤差の説明
エ 情報落ちの説明
【参考】 | 「算術演算と誤差-誤差 -情報処理シンプルまとめ」 |
まとめ
今回は,情報処理技術者試験の過去問(基礎理論-離散数学)を集めて,シンプルにまとめてみました。みなさん,どのくらい解けましたか?はじめは難しく感じると思いますが,繰り返し解くことにより,少しずつ理解できるようになると思います(8割以上(できれば9割以上)解けるようになるまで頑張りましょう)。また,解けるようになっても時間が経つと忘れることもありますので,たとえば,1週間後とか,1か月後とかに,また,やってみてください。