📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)
編集の要約なし |
|||
| 262行目: | 262行目: | ||
例.<br> | 例.<br> | ||
以下のような絶対値のほぼ等しい値があるとする。<br> | 以下のような絶対値のほぼ等しい値があるとする。<br> | ||
A = 1.1111111123334455667788<br> | <math>A = 1.1111111123334455667788</math><br> | ||
B = 1.111111111111111111111122<br> | <math>B = 1.111111111111111111111122</math><br> | ||
<br> | <br> | ||
A - | <math>A - B</math> を行った後、正規化する。<br> | ||
1. | <math>1.2223344556666 \times 10^{-7} \quad \cdots \, \mbox{(1)}</math><br> | ||
<br> | <br> | ||
上記を、有効桁数10桁の浮動小数点数で計算する。<br> | 上記を、有効桁数10桁の浮動小数点数で計算する。<br> | ||
a = 1.111111123<br> | <math>a = 1.111111123</math><br> | ||
b = 1.111111111<br> | <math>b = 1.111111111</math><br> | ||
<br> | <br> | ||
a - | <math>a - b</math> を行った後、正規化する。<br> | ||
1. | <math>1.200000000 \times 10^{-7} \quad \cdots \, \mbox{(2)}</math><br> | ||
<br> | <br> | ||
上記の演算結果(1)を有効桁数10桁に変換する。<br> | |||
(2) | 演算結果(2)は、演算結果(1)と比べて桁数が減少して、ほぼ等しい値にもかかわらず大きな誤差が生じていることが分かる。<br> | ||
1. | <math>1.222334455 \times 10^{-7} \quad \cdots \, \mbox{(1)}</math><br> | ||
1. | <math>1.200000000 \times 10^{-7} \quad \cdots \, \mbox{(2)}</math><br> | ||
<br> | <br> | ||
==== 情報落ち ==== | ==== 情報落ち ==== | ||
| 288行目: | 288行目: | ||
例 | 例 | ||
以下のような大きな値と小さい値があるとする。<br> | 以下のような大きな値と小さい値があるとする。<br> | ||
<math>A = 1100000000000</math><br> | |||
<math>B = 0.11</math><br> | |||
<br> | <br> | ||
両方の値を有効桁数10桁の浮動小数点数に変換する。<br> | 両方の値を有効桁数10桁の浮動小数点数に変換する。<br> | ||
a = 1. | <math>a = 1.100000000 \times 10^{12}</math><br> | ||
b = 1. | <math>b = 1.100000000 \times 10^{-1}</math><br> | ||
<br> | <br> | ||
この時、bの指数をaに合わせると仮数部が0となり情報が落ちる。<br> | この時、bの指数をaに合わせると仮数部が0となり情報が落ちる。<br> | ||
b = 0. | <math>b = 0.000000000 \times 10^{12}</math><br> | ||
<br> | <br> | ||
==== 打ち切り誤差 ==== | ==== 打ち切り誤差 ==== | ||
無限小数等の値に対して、ある程度の時点で処理を打ち切ることで発生する誤差のことである。<br> | 無限小数等の値に対して、ある程度の時点で処理を打ち切ることで発生する誤差のことである。<br> | ||