基本情報技術者試験 (FE)| 第3章 まとめ | 基礎論理

基本情報技術者試験 第3章 基数変換・補数・浮動小数点 完全ガイド | FE試験対策

基本情報技術者試験 第3章:基数変換・補数・浮動小数点 完全ガイド

Fundamental Information Technology Engineer Examination

執筆者:Tran Huy Khoa

こんにちは!私が2025年12月に基本情報技術者試験 (FE)に合格しました。こちらのシリーズは FEを勉強した時の個人メモです。ブログとしてシェアさせていただき、皆さんの参考になれば幸いです!

この記事では、基本情報技術者試験の第3章「基数変換・補数・浮動小数点」について、基数変換、補数と固定小数点、浮動小数点、誤差、シフト演算、論理演算、半加算器と全加算器、計測と制御、AI、線形代数、確率・統計など、試験に必要な重要トピックを詳しく解説します。

3.01:基数変換

N進数から10進数へ

例:1101.011 を10進数へ変換

1*2^3 + 1*2^2 + 0*2^1 + 1*2^0 + 0*2^-1 + 1*2^-2 + 1*2^-3 = 13.375

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

123 + 876 = 999 (10進数3桁の最大値になる) 123 + 877 = 1000 (次の桁に桁上がりする)

※ 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の補数表現

-5.625 (10進数) = 101.101 (2進数) 8ビットで、小数点位置は3ビット目と4ビット目の間のため、空いてるビットに0を補う → 01011010 → (ビット反転) 10100101 → (1を加える) 10100110 → 結果は 10100110

例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ビット形式)

代表的な浮動小数点形式

数値 = (-1)^S * B * 2^E 符号部 | 指数部 | 仮数部 (S) (E) (B) 1ビット 8ビット 23ビット S:仮数部の符号(0:正、1:負) E:2を基数として、実際の値に127を加えたバイアス値 B:絶対値を2進数で表す。1.M (1.xxx)となるように、桁を移動する(正規化という)

例: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倍の値

m*9 = m*(2^3+1) = m*2^3 + m → m を3ビット左シフトして、m を加えることで、9倍の数値を求められる

3.06:論理演算

論理演算の種類

  • 論理和 (OR):A+B
  • 論理積 (AND):A・B
  • XOR:A'B + AB' (異なれば1)
  • 否定 (NOT):ビット反転

ド・モルガンの法則

Ā・A = 0    A・A = A    A+A = A Ā + A = 1 A + 0 = A A + 1 = 1 A・0 = 0 A・1 = A A・(B+C) = AB + BC A +(B・C)= (A+B)・(A+C) NOT(A + B) = Ā・B̅ NOT(A・B) = Ā + B̅

3.07:半加算器と全加算器

半加算器

二つの2進数を加算して、同桁の和(S) と 桁上がり(C)を出力する加算器

0+0=00、0+1=01、1+0=01、1+1=10 X AND Y = C X XOR Y = S 例:0+1=01 (S:1、C:0)

全加算器

同桁の和(S)、桁上がり(C)、下位桁からの桁上がり(C')も考慮

___________ ______ X ---->| 半加算器 |---> C -------------------->| OR |---> C Y ---->|___________|---> S -->|半加算器|--> C -->|_____| C'--------------------------> |_______|--> S ---------> S 例: 1 (C') 11 + 11 ----- 110 (左端の1が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:線形代数

基本概念

  • スカラー:大きさを表す数値
  • ベクトル:数値を縦または横に一列に並べたもの
  • 行列:数を正方形または長方形に並べたもの

行列の演算

加算

(5 6) + (2 -3) = (7 1) (1 2) (2 1) (3 3)

スカラー倍

(5 4) * 2 = (10 8) (1 2) (2 4)

行列の乗算

(3 4 2) * (1 2) = (9 34) (6 5 1) (1 4) (12 38) (1 6) 計算: 9 = 3*1 + 4*1 + 2*1 34 = 3*2 + 4*4 + 2*6 12 = 6*1 + 5*1 + 1*1 38 = 6*2 + 5*4 + 1*6

特殊な行列

単位行列

左上からの対角線は1、それ以外の成分が0である正方形

例:(1 0) (1 0 0) (0 1) (0 1 0) (0 0 1)

逆行列

行列Aの逆行列は 1/A(A^-1と表記)

A = (a b) A^-1 = 1/(ad-bc) * ( d -b) (c d) (-c a)

連立方程式を行列で解く方法

例:

x + y = 9 2x + 4y = 22 拡大係数行列に変換: (1 1 | 9) (2 4 |22) 単位行列に近づくように操作: (1 1 | 9) → (1 1 | 9) → (1 1 | 9) → (1 0 | 7) (2 4 |22) (0 2 | 4) (0 1 | 2) (0 1 | 2) 答え:x = 7, y = 2

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

平均値 = (45 + 55*3 + 65*2 + 70*2) / 8 = 60 メジアン = (55 + 65) / 2 = 60 モード = 55 レンジ = 70 - 45 = 25 分散 = ((45-60)^2 + (55-60)^2 + ... + (70-60)^2) / 8 = 68.75 標準偏差 = √(68.75) = 8.29

第3章は以上になります!ご覧いただきありがとうございます。

他の記事はこちらから:www.khoath.com

Comments

Popular posts from this blog

基本情報技術者試験 (FE)| 第1章 まとめ | コンピュータ構成要素

基本情報技術者試験 (FE)| 第2章 まとめ | ソフトウェアとマルチメディア