表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

ブックマーク機能を使うにはログインしてください。
16/135

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によって、収束しているように見えただけである。

評価をするにはログインしてください。
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
― 新着の感想 ―
このエピソードに感想はまだ書かれていません。
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。

この作品はリンクフリーです。ご自由にリンク(紹介)してください。
この作品はスマートフォン対応です。スマートフォンかパソコンかを自動で判別し、適切なページを表示します。

↑ページトップへ