3進法アキュムレータ
現代のCPUは2進法だ。
彼は3進法のアキュムレータを2進法でビット演算してみせたわけである。
CPUも演算するときは本来一回でできるものではない。1ビットずつ分解して行っていくのである。
これと同じことを計算でおこなった。
本来3倍とは
2m+m
であるからもとの数に2倍を加えればいいはずだ。
かれの計算では増分が半分になっていたため、
(m+m)/2=m
となてしまう。
しかし、m+mは偶数奇数がわかりにくい。
そこで、
3m=4m-m
として考える
増分が半分なので
2m-m=m
増分は偶数であるので
mが奇数なら奇数が維持される
彼の計算では、-mを補数ではなく反転でおこなたったため、処理上は入れ替わってしまう。
通常ならこれだけであるが、
かれは、1が出るたびに3倍している。
そのため、
計算結果が
(3^a)m
になってしまった。
この(3^a)も見かけ上なので、処理が途中でループしてしまうわけではない。
それは1ビットずつ計算の桁がシフトしていくのですべてのビットが終わればもとの数mについて終わりである。
mのビット単位で解釈しても端数が出なかったため、0のビットについて1/2でも問題は発生しなかった。
そして、mの桁がオーバーランして結果が0になってしまう。
これには、無限の0が関係してくる
遥かなたに1があると思ってみるといい。
(3^z)(2^∞)m
になって見かけ上0になる。
しかし、実際には(3m+1)/2と0.5を先にいれてしまった。
この最後の0.5が1として見えていたので、1に収束したように見えたのである。
演算自体は発散している。しかし、無限のかなたの見えない1によって、収束しているように見えただけである。