7/134
誤差計算による終了判定
3/2M
の終了判定式が
y=(3(x+1)-2)/2
の間違いじゃないかと思われるかもしれない
三進法では1/2が表現できないので
デジタル誤差をもとめているのである
もともと下位はフル状態なので3倍時に繰り上がりが発生する
しかし、デジタルでは下位が空状態なので繰り上がりが起きない。
そこで
+(1/2)
を繰り返しているが計算上の誤差が発生する
本来は
+(1/2)(3/2)を足す必要がある
y=3(x-1)/2
そのため誤差だけを計算すると
(1/2)(3/2+(3/2)^2+(3/2)^3+・・・)=(1/2)Σ(3/2)^q
誤差の増分は本来0.5だが、整数計算にするために1にすれば総和は次の桁(3^a)になる
x=0
y=3(x-1)/2=3((x+1)-2)/2
と変形し
誤差を
(1/2)Σ(2(3/2))^q
とする
(3^a)-1=(1/2)Σ(2(3/2))^q
q=0からa-1
からa回で終了することがわかる