リンク

2015年3月2日月曜日

勉強のあれこれ 2


さて、今日も勉強した?あれこれを書いていく予定です~

1-5 誤差

誤差

コンピュータ内部では、数値を指定されたビット数で表現しているために、真の値とコンピュータ内部で表現する値との間に差が発生する。この差のことを誤差という。

けたあふれ誤差

コンピュータ内部では、数値を指定されたビット数で表現しているために、表現できる数値の周囲は決まっている。
桁あふれ誤差は、演算結果がコンピュータの表現できる範囲を超えることによって発生する誤差。
特に、表現できる範囲の最大数を超えることを オーバーフロー 最小値を超えることを アンダフロー という。

丸め誤差

指定された有効桁数で演算結果を表すために、切り捨て、切り上げ、四捨五入などを行うために発生する誤差

けた落ち

絶対値のほぼ等しい二つの数の絶対値の差を求めたとき、有効桁数が減るために発生する誤差。

情報落ち

絶対値の非常に大きな数と小さな数の足し算や引き算を行ったとき、小さい数が演算結果に反映されないために発生する誤差。

打切り誤差

浮動小数点数の計算処理の打ち切りを、指定した規則で行うことによって発生する誤差。
 たとえば、円周率の3.14159... を計算処理を打ち切って、3.14とすることによって発生する。

1-6 シフト演算

シフト演算

まずは10進数123で考えてみる。
一つ左にけたをずらすと、元の数値に10をかけた1230になる。二つけたをずらすと、100をかけた12300になる。逆に、一つ右にけたをずらすと元の数を10で割った12.3に、二つ右にけたをずらすと100で割った1.23になる。10進数では左右にけたをずらすだけで、10をかけたり10で割ったりすることができる。
 同じように、2進数では左右にけたをずらすだけで、元の数値に2をかけたり2で割ったりすることができる。左右にけたをずらすことで、簡単に乗算や除算を行うことができ、この操作を シフト演算 という。

論理シフト

符号を考慮しない。論理シフトでは、左シフト・右シフトともあふれたビットは捨てられ、空いたビットには0が入る。

算術シフト

符号を考慮する。左シフトと右シフトとは、空いたビットの取り扱い方が異なる。

算術左シフト

符号ビットはそのままの位置にとどまる。あふれたビットは捨てられ、空いたビットには0が入る。

算術右シフト

符号ビットはそのまま、あふれたビットは捨てられ、空いたビットには符号と同じビットが入る。

シフト演算と加算の組み合わせ

シフト演算を使うと、2n売屋1/2nバイは簡単にできることが分かった。それでは、たとえば2進数mの9倍の値を求めるにはどうすればよいか。
こういう場合は、9を2のべき乗に分解する。

m x 9 = m x (2³ + 1)
    = m x 2³ + m
このように変形することができる。
したがって、mを3ビット左にけた移動したものにmを加えると、9倍の値を求めることができる。

1-7 オートマトン

オートマトン

入力と現在の状態によって、出力が決定される機会をモデル化したもの。オートマトンのうち、初期状態からいくつかの状態を遷移し、採取的に受理状態(終了状態)になるものを有限オートマトンという。

1-8 文字コード

文字コード

コンピュータ内部は0と1の2進数で表現されている。にもかかわらず、コンピュータが文字を扱うことができるのは、文字の一つ一つに、特定の2進数が割り当てられていて、文字という情報をコード化しているため。

代表的な文字コード

・ASCⅡコード(American Standard Code for Information Interchange)
ANSI(米国標準規格協会)で定めた7ビットの文字コード体系で、8ビット目をパリティビットとしている。英字、数字、特殊文字および制御文字からなり、漢字に関する規定がない。
・EBCDIC(Extended Binary Coded Decimal Interchange Code)
IBM社が開発した8ビットからなる文字コード体系で、凡庸コンピュータを中心に普及している。
・JISコード
JISで定めた文字コード体系。7ビットの「ローマ字用7単位符号」や8ビットに拡張した「ローマ字・片仮名名用8単位符号」、ひらがなと漢字を追加した「JIS漢字コード」がある。ひらがなや漢字を表現するには1ビットでは足りないため、1文字を2バイトで表現する。
・シフトJISコード
JIS漢字コードを返還したもので、1バイト目で漢字かどうかがわかり、英数字・カナなどの1パイト文字と混在させても判別できる文字コード体系。
・EUC(Extended Unix Code)
拡張UNIXコードとも呼ばれ、全角文字と半角カタカナ文字を2バイトまたは3ばいとで表現する文字コード体系。UNIXにおける多言語対応の一環として制定され、UNIX上で漢字が扱える。
・UNIXODE
世界各国の文字の多くを一つの体系で表現し、データ交換が円滑にできるように制定された文字コード体系。

1-9 論理演算と論理回路

論理演算と論理回路

ここまで説明してきたように、コンピュータ内部では、電気信号の「ON」と「OFF」を1(真)と0(嘘)に対応させ、情報を処理している。1と0という二つの値を扱う演算が 論理演算 で、論理和(OR)や論理積(AND)、否定(NOT)がその基本。論理演算を実際に行う電子回路が論理回路。CPUには、論理演算を行うための論理回路が組み込まれている。
論理回路はMIL記号で図式化したり、入力の状態とそのときの出ry区の状態を表にまとめた 真理値表で表したりする。



0 件のコメント:

コメントを投稿