基本情報技術者試験 (FE)| 第3章 まとめ | 基礎論理
基本情報技術者試験 第3章:基数変換・補数・浮動小数点 完全ガイド
Fundamental Information Technology Engineer Examination
こんにちは!私が2025年12月に基本情報技術者試験 (FE)に合格しました。こちらのシリーズは FEを勉強した時の個人メモです。ブログとしてシェアさせていただき、皆さんの参考になれば幸いです!
この記事では、基本情報技術者試験の第3章「基数変換・補数・浮動小数点」について、基数変換、補数と固定小数点、浮動小数点、誤差、シフト演算、論理演算、半加算器と全加算器、計測と制御、AI、線形代数、確率・統計など、試験に必要な重要トピックを詳しく解説します。
3.01:基数変換
N進数から10進数へ
例:1101.011 を10進数へ変換
10進数からN進数へ
例:10進数 6.375 を2進数に変換
- 整数部:余りを下から並ぶ
例:6/2=3 余り0, 3/2=1 余り1, 1/2=0 余り1 → 110 - 小数部:整数部を順に並ぶ
例:0.375*2=0.75、0.75*2=1.5、0.5*2=1.0 → 011
小数部が0になったら終わり
結果:6.375(10進数) = 110.011 (2進数)
3.02:補数と固定小数点
補数
「ある数」を「決められた数」に変換するための「補う数」
N進数では、2タイプがあり:「N-1の補数」と「Nの補数」
- 1. 「ある数」に「N-1の補数」を補うと、与えられた桁数の最大値になる
- 2. 「ある数」に「Nの補数」を補うと、与えられた桁数の、次の桁に桁上がり
10進数の例
10進数は [9補数]と[10補数]がある
123の[9補数]は 876、123の[10補数]は 877
※ 10進数の123は3桁なので、1000の桁上がり 1 を捨てられる
つまり、123 + 877 = 000
つまり、10の補数 877は 123の対の負数(-123)の意味になる (N進数使えば負数を表現できる)
2進数の例
2進数には、[1の補数]と[2の補数]がある
0101の[1の補数]は1010、「2の補数」は1011
- 1の補数の作り方:ビット反転する
- 2の補数の作り方:ビット反転する → 1を加える
※ 2の補数から対の正数を求めるには、同じやり方(2の補数をビット反転 → +1)
注意:10進数正数を2進数で表す時、そのまま2進数へ変換(2の補数不要)
負数を2進数で表す時、2の補数を用いる
固定小数点
小数点の位置が固定
例1:10進数 -5.625を、8ビット固定小数点形式による2進数で表したものはどれか
ここで、小数点位置は3ビット目と4ビット目の間とし、負数は2の補数表現
例2:8ビット固定小数点形式による2進数で表したものは
最小値が 10000000 (10進数で -128)、最大値が 01111111 (10進数で127)
(左端のビットは符号を表す、1:負、0:正または0)
3.03:浮動小数点
コンピュータ内部における数値の表現方法は2つ:固定小数点と浮動小数点
浮動小数点
小数点の位置が移動できる(指数部の値による)
例:10進数の123 = 123.0*10^0 = 12.3*10^1 = 1.23*10^2 = 0.123*10^3 = ...
IEEE754(32ビット形式)
代表的な浮動小数点形式
例:10進数 7.25を IEEE754で表現
- S:7.25は正数のため、(S) に 0を入れる
- E:7.25(10進数) = 111.01 (2進数) = 1.1101 * 2^2
2 + 127 = 129 = 10000001 - B:1101を23ビットで表現、残りのビットに0を入れる
1101.....00
結果:7.25 = 0 | 10000001 | 1101.....00
バイアス値
実際の数字に一定の数値を加えること
3.04:誤差
- 丸め誤差:切り捨て・切り上げ・四捨五入による誤差
- 桁落ち:絶対値がほぼ等しい数の減算で発生
- 情報落ち:絶対値の差が非常に大きい数の加減算で発生
- 打切り誤差:浮動小数点数の打ち切り(例:π 3.14159.. → 3.14)
3.05:シフト演算
論理シフト
符号を考慮しない。空いたビットに0を入れる
- 論理左シフト:2^n 倍
- 論理右シフト:1/2^n 倍
算術シフト
符号を考慮する。符号ビットはそのままの位置にする
- 算術左シフト:2^n 倍、空いたビットに0を入れる
- 算術右シフト:1/2^n 倍、空いたビットに符号と同じビットを入れる
応用例
例:2進数m の9倍の値
3.06:論理演算
論理演算の種類
- 論理和 (OR):A+B
- 論理積 (AND):A・B
- XOR:A'B + AB' (異なれば1)
- 否定 (NOT):ビット反転
ド・モルガンの法則
3.07:半加算器と全加算器
半加算器
二つの2進数を加算して、同桁の和(S) と 桁上がり(C)を出力する加算器
全加算器
同桁の和(S)、桁上がり(C)、下位桁からの桁上がり(C')も考慮
3.08:計測と制御
アナログとディジタル
- Analog:連続的な値
- Digital:不連続(「1」と「0」のみ)
- A/D変換:Analog → Digitalに変換
PCM伝送方式
アナログ → デジタルへ変換する方式
- 標本化:一定時間間隔で区切る(サンプリング周波数、単位:Hz)
- 量子化:一定間隔に対応した整数を割り当てる
- 符号化:量子化された値を2進数に変換(例:5=101、3=011)
デジタル化後のデータ量は、サンプリング周波数と量子化ビット数により決まる
制御技術
- フィードバック制御:出力結果を見て事後に調整する方式
- フィードフォワード制御:入力を予測して、事前に調整する方式
- シーケンス制御:定められた順序に従って、段階的に制御を進める
例:エアコンの温度センサーによる自動制御
コンピュータ制御の要素
- A/Dコンバータ:Analog → Digitalに変換
- センサ:物理量を検出して、Analog または Digitalで出力
- 温度センサ、赤外線センサ
- ひずみゲージ:物体のひずみを電気抵抗の変化として測定
- ジャイロセンサ:角速度や傾き、振動を検出
- 人感センサ:人体が発する赤外線や超音波を検知
- アクチュエータ:電気信号を力学的な運動(回転、直線)に変換
- アンプ:微小な電気信号を増幅
PWM制御
PWM制御 (Pulse Width Modulation):電源のON・OFFを高速に切替えることで、出力電力を制御する方式。モータの回転速度やLEDの明るさなどをデジタル信号で制御する
電力関連
- 電力(W) = 電流(A) * 電圧(V)
- 電力量:任意の時間内に消費された電気エネルギーの総量。単位 Wh
例:100Wの電球を2時間使った電力量 = 100*2 = 200Wh = 0.2kWh
3.09:オートマトン
(本セクションは今後追加予定)
3.10:AI
機械学習
- 教師あり学習:データと正解・誤りを指摘
- 教師なし学習:正解・誤りを指摘しない、統計的に情報を集約
- 強化学習:試行錯誤を通して、報酬が最も多く得られる方策を学習
Deep Learning
人の脳神経回路を模倣する(Neural Network)
- 活性化関数:AIのニューロンは、出力値を次のニューロンへ値を渡していく → より深く学習できる
- 畳み込みニューラルネットワーク(CNN):画像や動画などの視覚データを処理するためのモデル。画像の特徴を捉え、物体を識別したり分類したりする
- リカレントニューラルネットワーク (RNN):時系列データや連続データを扱うための Deep Learning モデル。過去と現在情報を組合せて、文章生成や音声認識が可能
- 多層パーセプトロン(MLP):ニューラルネットワークの基本形式。複数の層を持つ人工ニューラルネットワーク(入力層、隠れ層、出力層)
Deep Learningの重要概念
- バックプロパゲーション:誤差を逆伝播して学習する手法
- 過学習:特定のデータに過度に適応し、新しいデータに対応できない状態。原因は「学習データの不足」や「偏ったデータの学習」
- ハルシネーション:AIが事実に基づかない情報を生成してしまう現象
- マルチモーダルAI:テキストだけではなく音声・画像などの様々情報を同時に理解できるAI
機械学習の手法
- 強化学習:報酬を最大化する行動方策を学習する手法
- 線形回帰:説明変数と目的変数の関係を直線で表し、連続値を予測する手法(売上の推移)
- ロジスティック回帰:ある事象が起こる確率(0〜1)を予測する2値分類手法(合格/不合格の判定)
- 決定木:条件分岐を繰り返して予測を行う、直感的で解釈しやすい学習手法
- ランダムフォレスト:複数の決定木を組み合わせて予測精度と安定性を高める手法
- サポートベクトルマシン(SVM):データを最もきれいに分離する境界(マージン最大)を学習する分類・回帰手法
豊かな未来
- 超スマート社会:ICT技術でサイバー空間と現実空間を融合
- Society5.0:年齢、性別、言語の違いに関わらず、誰も快適に生活できる社会
- SDGs:地球環境を保護、貧困を脱し、平和的に暮らせる世界
- デジタルツイン:様々なセンサから収集したデータで、デジタル空間に現実世界を作り上げ、実際に実施できないシミュレーションを行う
デジタルディスラプション
IT活用で既存のビジネスが破壊され、新たなビジネスモデルが誕生
生成AI
- 敵対的生成ネットワーク:テキストや画像、音声などを生成するためのモデル。「生成器」で新しいデータを生成し、「識別器」が生成されたデータが本物かどうかを判断。お互いに競い合いながら学習し、最終的にリアルなデータを生成できる
- 説明可能なAI:AIの学習した過程・どのように意思決定したのかを人間に説明できるよう、研究が進められている
- ヒューマンインザループ:人間がAIの判断過程に介入し、評価やフィードバックを与えることで、より正確な意思決定を支援する手法
- ディープフェイク:元と異なるものを生み出す技術
3.11:線形代数
基本概念
- スカラー:大きさを表す数値
- ベクトル:数値を縦または横に一列に並べたもの
- 行列:数を正方形または長方形に並べたもの
行列の演算
加算
スカラー倍
行列の乗算
特殊な行列
単位行列
左上からの対角線は1、それ以外の成分が0である正方形
逆行列
行列Aの逆行列は 1/A(A^-1と表記)
連立方程式を行列で解く方法
例:
3.12:確率・統計
基本公式
- 順列:nPr = n! / (n-r)!
- 組合せ:nCr = n! / r!*(n-r)!
尺度
入力データの種類により以下に分類される
質的変数
- 名義尺度:種別、名前でグルーピング(例:男女、血液型)
- 順序尺度:順序あるが、間隔が等しくない(例:満足度、順位)
量的変数
- 間隔尺度:間隔が等しいが、0でも意味を持つ(例:時刻、温度)
- 比率尺度:間隔が等しく、0は「なにもないこと」を表す(例:体重、身長)
(間隔:18時は9時の2倍といえない。比率:20kgは10kgの2倍といえる)
仮説検定
ある仮説が正しいかを統計学を用いて検証する方法
- 帰無仮説:最初に「特に変化がない」仮説を立てる
例:勉強時間増やしても、成績が変わらない - 対立仮説:その後、真逆の仮説を立てる
例:勉強時間増やせば、成績が上がる
最後に、2仮説の結果を比較、適切な方を採択
仮説検定の誤り
- 有意水準:帰無仮説を棄却する基準となる確率
- 第1種の誤り:帰無仮説が正しいのに、棄却してしまう(正しいものを捨てる)
- 第2種の誤り:帰無仮説が正しくないのに、採択してしまう(誤りを採用する)
統計量
- 正規分布:平均値を中心とする左右対称で釣鐘状の連続確率分布
- 平均値:全データの合計 / データ数
- メジアン(中央値):順番に並べて、中央に位置するデータ
- モード(最頻値):出現頻度の最も高い値
- レンジ(範囲):最大値と最小値の差
- 分散:平均値からのばらつきを表し、偏差(平均値との差)の2乗の総和の平均値
- 標準偏差:分散の平方根
計算例
データ:45, 55, 55, 55, 65, 65, 70, 70
Comments
Post a Comment