コンピュータを学習するうえで必要となる基礎事項・知識について解説します。
10進法に代表されるr進法。
2進法とか3進法などなど。この2とか3とかを基数といいます。
たとえば、16進法であらわされた#gca(cht=tx&chl=2A.4({_1_6})は
となります。
2進数は各桁を0か1で表現します。2進数で表現できる正の数は
&gca(): Error! The expression is too long or contains invalid characters.;
です。
一般的に負の数を表現する場合、補数というものが用いられます。
補数を利用する理由は、コンピュータではそもそもマイナスは使えません。
そこで、最上位ビットの上にけたに1があると仮定し計算した結果を-1とします。
100000000 - 1 → N ---------- 011111111 → M N(1) + M(−1) = 0
このような考え方で2の負数を補数であらわします。
補数であらわせる負数の範囲は nビットの場合、
&gca(): Error! The expression is too long or contains invalid characters.;
です。
負数を表現する方法は3つあります。
一般的に小数だけで構成された数値を表現する場合は、最上位ビットの右側を小数点位置とします。これを固定小数点表現といいます。
01010000 = 0.625 |_小数点位置 11010000 = 0.625 - 1 = -0.375 |_小数点位置
上記の固定小数点表現では整数部分を表現できません。そのため小数点を右に移動させ整数部分を拡張します。
01011010 = 5.625 |_小数点位置 11011010 = -2.375 |_小数点位置
7.25を有効桁数を表す仮数部と桁数を表す指数部に分けられる。
&gca(): Error! The expression is too long or contains invalid characters.;
10:底
1:指数部
0.725:仮数部 → 1未満で表現する。
この表現方法を浮動小数点表現といいます。
浮動小数点表現で仮数部の最上位桁が0以外になるように桁を合わせることを正規化といいます。
&gca(): Error! The expression is too long or contains invalid characters.;
= &gca(): Error! The expression is too long or contains invalid characters.;
= &gca(): Error! The expression is too long or contains invalid characters.;
0 00000011 1110 1000 0000 0000 0000 000(浮動小数点4バイト) | | |_仮数部。ここが小数第1位 | |_指数部 |_正で0
正規化した2進浮動小数点の有効桁数は仮数部の桁数で決まります。
演算結果の絶対値が表現できる範囲を超えてしまった場合 → オーバーフロー 下回ってしまった場合 → アンダーフロー
誤差の種類 | 説明 | サンプル |
丸め誤差 | 四捨五入で切り捨てられたことにより発生する誤差 | 3.653を小数第二位で四捨五入 |
情報落ち | 絶対値の大きな数と小さな数の足し算、引き算で小さい数が計算結果に反映されないために発生する誤差 | |
けた落ち | 有効桁数減少に伴う誤差 | |
打ち切り誤差 | 浮動小数点の計算処理の打ち切りにより発生する誤差 |
集合とは、ある条件を満たし、ほかものとは明確に区別できるものの集まりをいいます。ある1つの集合&gca(): Error! The expression is too long or contains invalid characters.;