こんにちは、ニャです。次の2018年の10月に基本情報技術者試験を受けるため、これはメモとして扱います。なぜ基本情報技術者試験を受けるかというとまずは勉強なら何も無駄になりません。それから、大学生にいるうちに勉強する時間があるし、授業によって成績に影響(?)することもあります。将来の就活にも有利になります(昇給など)。
まず、基本情報技術者試験とは、高度IT人材になるために、必要な情報技術全般に関する基本的な知識・技能を持ち、実践的な活用能力を見につけた人を対象とした試験です。情報システム開発プロジェクトにおいて、プログラム設計書を作成し、設計書に基づいてプログラムを作成するなどの業務を行う人を対象として想定されています。
次は試験概要です。受験資格としては誰でも受験できるので、ぜひお試ししてください。午前試験と午後試験と分かれています。午前の試験なら9:30〜12:00(150分)だそうです。出題形式は多肢選択式 (四肢択一ししたくいつ)で80問。100点満点で各1.25点です。午後試験は13:00〜15:30(150分)で多肢選択式(13問中2問必須、5問選択)です。問1必須、問2〜問7より4問/各12点、問8必須/20点、問9〜問13より1問/20点)。合格するために各時間区分の得点がすべて60点以上である。
CONTENTS
I. テクノロジ系
第1章:基礎論理
Part 1. 離散数学
1.基数
*コンピュータと2進数
コンピュータでは全てのデータが0と1の2つの数字だけで表現されています。コンピュータ内部ではこれらの0と1を電気信号のオン/オフで表現しています。
この0と1の並びで評された数値を2進数と言います。2進数の1桁がビット(bit)です。ビットは情報量の最小単位です。
*n進数
私達が普段使用している数値は、10進数と呼ばれる方法で表現されています。これは、0から9までの10個の数字を用い、ある桁が増えて10になったら次の桁に桁上がりするという方法です。
例えば、123=1*10^2+2*10^2+3*10^0
コンピュータ分野では、一般的に8進数や16進数をよく使用します。16進数では0〜9以外に、A〜Fの文字を数字として使用します。
*基数の交換
「n進数から10進数への変換」:各桁の数字に基数のべき乗をかけ、それらを合計します。
例:2B6=2x16^2+1x16^1+6x16^0=694
少数部分も同様です。16進数の場合、小数点以下1桁目が16^ー1、2桁目が16^−2、…
例:2.B6=2x16^0+11x16^-1+6x16^-2=694/256=2.7109375
「10進数からn進数への変換」:基数nで繰り返し割り算を行い、出てきたあまりが各桁の数字となります。例えば、10進数の694を16進数に変換すると、2B6となります。
694=43*16+6
43=2*16+11(
B)
2=0*16+2
少数部分があるとき、まず整数部分を上記の方法で変換します。少数部分では、基数を掛けた結果の積の整数部分が1桁目の数字となります。残った少数部分に更に基数を掛け、その結果の積の整数部分が次の桁の数字となります。少数部分が0になるまでこの操作を繰り返します。例えば、10進数の2.7109375を16進数に変換すると、2.B6となります。
2.7109375
整数部は2
16*0.7109375
= 11.375 少数第一位は11(B)
16*0.375=6.0
少数第二位は6
→終了
「2進数ー16進数、2進数ー8進数の変換」:2進数を16進数に変換するには2進数を下位の桁から4桁ずつに区切り、各々を1桁の16進数に直します。例えば、2進数の10101001を16進数に変換するとA9となります。
1010=A、1001=9
2進数から8進数に変換するには、4桁ずつではなく3桁で区切って直します。
10=2、101=5、001=1
つまり、16進数や8進数から2進数に変換するとき、16進数(8進数)の各桁を4桁(3桁)の2進数に直します。
POINT:10進数からn進数への変換
・2進数、8進数、16進数の有限少数
ー>10進数に変換しても有限少数
・10進数の有限少数
ー>2進数、8進数、16進数に変換したとき無限少数になることもある
POINT:10進数からn進数への変換
・2進数、8進数、16進数の有限少数
ー>10進数に変換しても有限少数
・10進数の有限少数
ー>2進数、8進数、16進数に変換したとき無限少数になることもある
2.数値の表現
*整数の表現方法
nビットで表現できる数値の範囲
*整数の表現方法
nビットで表現できる数値の範囲
符号なし整数の場合:0 ~ 2^n-1
符号付き整数の場合:-2^(n-1) ~ 2^(n-1)-1
符号付き整数に、負の数を表すには3通りの方法があります。1つ目の方法は1ビット(MSB)を用いて正負の記号を表し、残りのビットで絶対値を表します。2つ目の方法は「1の補数」といいます。正の値の1と0をすべて反転させます。そうすると、元の数と反転させたものを足したら0になるため、負の値になります。3つ目の方法はビット反転した後、1を加えるという「2の補数」の方法です。具体的に例を見ましょう。
0 0 0 0 1 0 1 0 =10
1 0 0 0 1 0 1 0 =-10(1つ目の方法)
1 1 1 1 0 1 0 1 =-10(1の補数)
1 1 1 1 0 1 1 0 =-10(2の補数)
コンピュータの内部では、通常に「2の補数表現」が用いられます。
POINT: 2の補数を求める手順
①2進数に直す ②0と1を反転させる ③1を加える
*少数の表現方法
固定少数点数:小数点を特定の位置に固定した表現法です。
浮動小数点数: 16ビット浮動小数点数を考えます。
符 号:1ビット(0:正、1:負)
指数部:4ビット(2を基数とし、負は2の補数表現)
仮数部:11ビット(符号なし2進数)
注:12.25 = +0.765625 x 2^4の中に+は符号、765625は仮数、2は基数、4は指数
例:16ビット浮動小数点数による0.25日表現
0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
符号=0=正
指数=1 1 1 1=−1(2の補数表現)
仮数= 1 0 0 0 0 0 0 0 0 0 0=0.5
=>0.5x2^(-1)=0.25
*10進数の表現
BCDコード(Binary-Coded Decimal): 10進数の各桁(0~9)を4ビットの2進数で表す。
例:4649=0100 0110 0100 1001
ゾーン10進数:ゾーン部+数値部、最下位桁のゾーン部は符号
例:209=0011 0010 0011 0000 1100 1001
(1100:正、1101:負)
パック10進数:4ビット=数値部、最下位の4ビットが符号
例:2019=0000 0010 0000 0001 1001 1100
ゾーン10進数よりもバイト数が少なくなり、記憶領域が節約できます。
符号付き整数に、負の数を表すには3通りの方法があります。1つ目の方法は1ビット(MSB)を用いて正負の記号を表し、残りのビットで絶対値を表します。2つ目の方法は「1の補数」といいます。正の値の1と0をすべて反転させます。そうすると、元の数と反転させたものを足したら0になるため、負の値になります。3つ目の方法はビット反転した後、1を加えるという「2の補数」の方法です。具体的に例を見ましょう。
0 0 0 0 1 0 1 0 =10
1 0 0 0 1 0 1 0 =-10(1つ目の方法)
1 1 1 1 0 1 0 1 =-10(1の補数)
1 1 1 1 0 1 1 0 =-10(2の補数)
コンピュータの内部では、通常に「2の補数表現」が用いられます。
POINT: 2の補数を求める手順
①2進数に直す ②0と1を反転させる ③1を加える
*少数の表現方法
固定少数点数:小数点を特定の位置に固定した表現法です。
浮動小数点数: 16ビット浮動小数点数を考えます。
符 号:1ビット(0:正、1:負)
指数部:4ビット(2を基数とし、負は2の補数表現)
仮数部:11ビット(符号なし2進数)
注:12.25 = +0.765625 x 2^4の中に+は符号、765625は仮数、2は基数、4は指数
例:16ビット浮動小数点数による0.25日表現
0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
符号=0=正
指数=1 1 1 1=−1(2の補数表現)
仮数= 1 0 0 0 0 0 0 0 0 0 0=0.5
=>0.5x2^(-1)=0.25
*10進数の表現
BCDコード(Binary-Coded Decimal): 10進数の各桁(0~9)を4ビットの2進数で表す。
例:4649=0100 0110 0100 1001
ゾーン10進数:ゾーン部+数値部、最下位桁のゾーン部は符号
例:209=0011 0010 0011 0000 1100 1001
(1100:正、1101:負)
パック10進数:4ビット=数値部、最下位の4ビットが符号
例:2019=0000 0010 0000 0001 1001 1100
ゾーン10進数よりもバイト数が少なくなり、記憶領域が節約できます。
II. マネジメント系
II. ストラテジ系
n進数や集合の考え方は?
Part 2. 応用数学
確率・統計とコンピュータとの関係は?
Part 3. 情報に関する理論
Part 4. 通信に関する理論
Part 5. 計測・制御に関する理論
Part 6. データ構造
Part 7. アルゴリズム
Part 8. プログラミング
Part 9. プログラム言語
Part 10.その他の言語
Updating...
Comments
Post a Comment