## 3/25 8進数から2進数への変換は3桁ずつに区切って行う。4→100 3→011 0→000 5→101 4305→100011000101 同様に16進数から2進数への変換は4桁ずつに区切って行う。8→1000 C→1100 5→0101 8C5→100011000101 最下位ビット(LSB)、最上位ビット(MSB) 2の補数表現:各ビットの値を反転して、最後に1を加算して求める 補数表現の利点:足し算で実質的に引き算ができる 980-530=450ではなく980+470=1450としてから先頭の1を削って求められる 仮数:小数部分のこと 2のn乗の2の部分が基数 イクセス表現:実勢の指数に(2^7-1)=127を加えることで8bitの指数部で-126~+127を表現している ここでは10進数の128の指数が1として扱われる 正規化:仮数部の最上位ビットが0にならないように指数部と調整すること。限られた仮数部を有効に使うために行われる 丸め誤差:四捨五入などにより生じる誤差のこと 桁落ち:値がほぼ等しい2つの数値を減算した時に有効数字の桁数が急激に減少し、それによって発生する誤差のこと 情報落ち:絶対値の差が非常に大きい2つの数値の加減算を行った時に絶対値の小さい方の値が有効桁数内に収まらず、演算結果に反映されないために発生する誤差のこと 打切り誤差:ある程度の値で収束が確認できたところで、処理を打ち切ることで生じる誤差 オーバーフロー:非常に絶対値の大きな値同士の乗算を行った場合、指数部が表現しえる正の最大値を越えることがあり、この時に誤差が発生する(オーバーフローは同符号の加算や異符号の減算を行ったときに発生する可能性がある) アンダーフロー:非常に小さな値同士の乗算を行った場合、指数部での表現範囲の最小値よりも小さい数値が表現できないことがあり、それによりアンダーフローとなる BCDコード:10進数の1桁を2進数4桁に対応させて表現したもの 12345 = 0001 0010 0011 0100 0101 ゾーン10進数(アンパック10進数):10進数1桁を1バイト(8bit)で表す形式。1バイトの下位4bitで0~9までの数値を表現し、上位4bitは文字コードの種類を表す。+6078 = 00110110 00110000 00110111 11001000(1100が符号) パック10進数:10進数1桁を4bitで表し、最下位の4bitに符号を付加する。 2進数のシフト演算:左へ1bit桁移動するたびに数値が2倍になる(2-4-8-16倍) 論理シフトと算術シフト:論理シフトは全ビットを対象とするので負の数は扱えないが、算術シフトは左端1bitぶんを符号ビットとして固定するので扱える シフト演算の応用:乗除算が関連しているケース(10進数の演算式7÷32の結果を2進数で表せ)→それぞれを2進数に直して5bit右にシフトすると求まる 応用2:2進数で表された正の整数xを10倍にせよ→10倍(4+1倍)x2倍 = 2bit左にシフトしてから元のxを足し算して5倍、さらに1bit左にシフトして合計10倍。 排中の法則:A・!A=0 A+!A=1 XOR:!A・B+A・!B NAND:!A・!B NOR:!A+!B ビットマスク演算(ビットの取り出し):特定のビットだけを取り出す操作。取得したいビット位置のみを1としたビット列とのANDをとる。 条件付き確率:P(A|B) P(B) P(A)とそれぞれ置いた時に、P(B)xP(A|B)+P(A)xP(B|A)...というふうに計算していく 逐次ベイズ推定(ベイス更新):求めた事後確率を事前確率として使い反復することで確立精度を高めていくこと 標準正規分布:平均0、標準偏差1に変換した正規分布のこと メジアン:データを数字順に並べたときの中央の値。偶数この場合は中央2つの平均値をとる モード:最瀕値。出現頻度がもっとも高いデータを指す レンジ:データの最大値から最小値を引いて求めるデータの範囲 偏差値:平均が50、標準偏差が10になるように変換した値。xの偏差値=50+10(x-平均)/標準偏差 分散=Σ(x-平均値)^2/n 標準偏差=√分散 53ページまで ## 3/26 行列:数値や変数を正方形や長方形の形に並べ、括弧で括ったものを行列という。横方向が行、縦方向が列、中の数字を要素と呼ぶ。 行列の和:行の数と列の数が同じ場合に演算が可能 行列の積:掛けられる側の列の数と、掛ける側の行の数が同じ場合に演算が可能。結果の行列は掛けられる側の行列✕掛ける側の列数になる 転置行列:元の行列の行・列を入れ替えた行列。行列の対角線で要素が対称になる フィボナッチ数列:2つ前の項と1つ前の項を加えて得られる数列 ニュートン法:最初に真の解に近いと思われる予測値を1つ設定しておき、この予測値を基準にして徐々に真の解に近づけていく 待ち行列理論:平均到着率λ、平均サービス率μ、窓口利用率ρとした時に、ρ = μ/λ 平均待ち時間=1-窓口利用率/窓口利用率*平均サービス時間 動的計画法:問題解決のための過程を何段階かに分け、各段階においてそのつど最適解を求める手法のこと。さらに求めた途中結果を記録しておき、次の段階で利用することによって計算の省力化を行う バリティビット:誤り検出用ビットで1bitぶんある JISコード:漢字1文字を2byte(16bit)で表す シフトJIS:8bitと16bitの混在を容易にしたもの Unicode:世界各国の主な文字体系にすべて対応させるため各文字を2byteで表し、アルファベットや漢字などを統一的に取り扱う文字コードセット。 逆ポーランド表記法:括弧を使わずに演算の優先順位を表せるためコンピュータで扱いやすい"A+B"を"AB+"と表記するように、演算子は直前の2つの項にかかり、演算子は左から処理される オートマトン:入力、処理、出力といったコンピュータの動作をモデル化し、問題解決のための処理手順を定式化したもの 周波数分割多重化方式:FDM。アナログ回線で用いられ、複数利用者の信号を異なる周波数の信号に変調して同時に送信する方式 時分割多重化方式:TDM。デジタル回線で用いられ、時間を細かく分割して、それぞれの信号に一定の時間を割り当て、これを規則的に繰り返しながら送信する方式 符号分割多重化方式:CDM、携帯電話などで利用される方式でCDMA方式とも言う。すべての利用者は同じ周波数を使用するが利用者ごとに異なるコードを割り当てて相手を区別する。送信時と同じコードを用いなければ復調できないため機密性に優れ、周波数帯域を有効活用できる ハフマン符号化:出現率の高い文字を短いビット列に、低い文字を長いビット列に変換することで平均ビット長が短くなるように工夫されている。可逆圧縮方式として多く採用されている 調歩動機方式(低速回線専用):送信データ1文字ごとにスタートビットとストップビットを付けて送る方式で、スタートビットにより同期をとります。1文字が8bitの場合、1文字の送信に最低10bit必要なため伝送効率が悪く、低速の回線(1200bps以下)で使用される SYN同期方式(中速回線用):送信するデータの文字列の前に同期用の符号をいくつか送信し、この符号によって同期をとった後、データを連続送信する方式。1文字分に対応したビット数ごとに文字の区切りとみなして組み立てるので文字間が時間的に空くことは許されない フレーム同期方式(高速回線用):データをフレーム単位で送信する方式。送信するデータの前後にフラグパターンが付けられ、このパターンに囲まれた部分を単位として同期をとる。この方式を用いた伝送制御がHDLCである。送信データがない時は絶えずフラグパターンが送られ、受信側ではそれ以外の信号を受信するとデータが送られてきたと判断する。データの長さに制約がなく高速で大量なデータ送信に向いている A/D変換の順序:標本化→量子化→符号化 標本化:連続的に変化しているアナログデータに対して、一定間隔ごとにその瞬間の値を測定する。1秒間に行う標本化の回数をサンプリング周波数と呼び、単位にHzが使われる 量子化・符号化:量子化では測定した信号の値を適当な整数値に丸め、符号化でその値をnビットの2進数に変換する。nの値が大きいほど精度に優れるがデータ量も多くなる。サンプリング周波数8kHzで8bitで符号化した場合の秒間データ量は8000*8=64kbitになる。 標本化定理(シャノンの定理):対象となるアナログ信号の最高周波数をfとすると、2f以上の周波数で標本化して伝送すれば受信側で元のアナログ信号に復元できる リストの特徴:データの挿入と削除にポインタの変更しか行わないためデータが物理的に並んでいなくても構わない 木構造:階層構造でデータを管理するもので木を逆さにしたゆおな形をしている。個々の要素を節(ノード)と呼び、節同士は親子関係を持つ。親を持たない最上位の要素を根(ルート)と呼ぶ。子を持たない最下位の要素を葉(リーフ)と呼ぶ バランス木:根から葉までなるべく同じ深さになるようにした木構造 B木:1つの節が複数の子を持つ木構造。葉までの階層の深さがすべて等しい多分木をB木といい、データ量が多くなっても探索効率がよいとされる 手続きと関数:戻り値を返さない場合を手続き、返す場合を関数とする 番兵法:配列の要素数が確定しない時、データの終了を判定するため有効ではない値を入れておく手法 二分探索:排列要素が値の昇順または降順に整列済みであることを前提とした配列に対して行う効率のよい探索方法。配列の要素を次々に二分して探索範囲を絞っていく ハッシュ表探索:ハッシュ法を利用したものでキーの値をデータに格納される位置に直接またはハッシュ関数により変換して関連付ける方法。探索時も同じ方法で格納位置を探し出すため、探索時間はもっとも短い。ただしハッシュ関数による変換の際、異なるキー値から同一の格納場所が得られる衝突の発生が避けられない。この時、先に格納されているデータをホーム、衝突を起こしたデータをシノニムと呼ぶ 計算量:O(n)(要素nに比例する)、O(1)(直接特定可能)、O(log2n) 基本選択法:範囲内の最小値を配列の先頭要素から順に格納していく整列法 バブルソート(基本交換法):隣接する要素同士の比較と入れ替えを繰り返し行うことで、すべての要素を整列する整列法 クイックソート:複数のデータの中の適当な要素を基準値とし、この基準値より小さい要素は基準値より前方に、大きな要素は後方に振り分ける。さらに基準値の前方データと後方データにおいて新たに基準値を決めて次々と分割していく。これをそれぞれの要素が1つになるまで繰り返すことで整列を行う マージソート:データ配列をいったん分割して並べ替えた後、再び併合することで整列を完成させる方法 部分文字列の置換処理:配列に収められた文字列の中から該当する部分文字列を探索し、別の文字列で置き換える処理のこと 文字列圧縮処理:置き換える部分文字列が元の部分文字列より短く、全体として文字列が短くなる場合を文字列圧縮処理を呼ぶことがある コントロールブレーク処理:コントロールを行うキー項目の変化(ブレイクポイント)を捉えて処理手順を変える手法 突き合わせ処理:整列済みの2つのファイルのレコードをキー項目によって統合し、1つのファイルにする処理を併合(マージ)と言う 再入可能:1つのプログラムを複数のプロセスで同時実行しても、それぞれに正しい結果を返すことができる構造のこと 逐次再使用可能:他のプロセスが使用し終わった主記憶上にあるプログラムを、再び補助記憶装置から主記憶へロードし直さなくても、正しく実行できるプログラム構造のこと 再配置可能:主記憶上のどのアドレスにも再配置できるプログラム構造。一般的なプログラムはこの形をしている 引数:実行に必要な値を実引数、サブルーチン側のパラメータを仮引数と言う オブジェクト指向言語:データとそれに関する操作や手続きをオブジェクトの単位にまとめ、処理はオブジェクトへの要求という形で実現する UML:オブジェクト指向分析で用いられるモデリング言語。システム開発における業務の流れの分析やシステムに要求される機能、構造を図示することができる 113ページまで