614 :拓人:2010/01/23(土) 03:55:21 ID:GHH32V2w0
もはや掲示板では狭すぎるのかもしれん・・・
~614のパーフェクト長文失礼回路教室~
- 「乗法計算機[1桁×2桁]」 -by tactics 解説
この回路は入力部、計算部、塩水加法演算部、表示部からなっており、
入力された信号を分解して複数の回路で計算し、集計をすることで省スペース化している。
まず、入力部から2種類の信号を受け取り、
計算部では4つの中型分岐回路からなっている
1桁分の式は、(a+b)(c+d)であらわされる。[0≦a,c≦4、b,d=0,5]
<大まかな計算の流れ>
【1】入力から1~4を2つと0or5の3つの信号を2つ分得る たとえば7*3なら (5+2)*(3+0)
↑を (a+b)(c+d) とすると ac+ad+bc+bd となる。ここで、 b,d=5,0 なので
計算 = 乗算の範囲 ⇒ 出力の範囲 [用意する塩水タンク]
ac = (0~4)(0~4) ⇒ 0~16 [繰り上がり用0~1][塩水加法計算機0~9]
ad,bc = (0,5)(0~4) ⇒ 0,5,10,15,20 [繰り上がり用0~2][塩水加法計算機0,5]
bd = (0,5)(0,5) ⇒ 0,25 [繰り上がり用0,2][塩水加法計算機0,5]
の値を返すわけだからその分の塩水タンクを用意し、それぞれ、
【2】ac:4*4のANT式二重分岐 ad,bc:塩水式単分岐 bd:塩水分岐x2個
を使い該当する箇所4つに信号を送る、
【3】塩水加法計算機の「塩水さえくれば上は適当で構わない」性質を利用して加算
【4】通常の加法と同じように繰り上げ
※ただし、繰上げは予備(1+2(2)+2)最大7まで+塩水加法計算機から最大3
までの分のタンクを用意する
【5】表示機まで情報を運搬して表示(ここは結構簡素)
<使われている回路>★は乗算に直接かかわる回路
入力装置 (aは2つ出力、bは1つ出力)を10ボタン*3
塩水加法計算機(3繰り上がりまで対応) 3桁分の内中央は32、2つは29
塩水タンク(1と2と5をあらわすタンク) 計算機に入れる
★4,4-横主回路切断式ANT分岐 acの乗算
★4-縦主回路接続式ANT分岐 ad,bcの乗算(繰り上がり)
★ABどちらかから一瞬でも流れてくれば電気を流す回路 bdの判定
★電流を流し続けると初めの一瞬だけ他方へ流す回路 a,b,c,d入力を2回使うため
単塩水分岐 判定のみでおよそ10Dot分しか使わなくてすむ
★4-複塩水分岐 電流を流し(ryの次にad,bcの乗算をさせるため
◇普通に9*9のANT分岐でやろうとすると、横の長さは
n(7+n)+2 ⇒ 9(7+9)+2 = 9*16+2 = 146
となり、実にマップの横半分の長さを1つの回路で埋めることになってしまう
しかもそれだけでは動作しない(縦は3n+15=42でそれなりにある)
更にこの方法で出力されるのは幅100の端子から1つのみで、掛け算には向かない
1桁分でANT分岐を2つ作ればいいけどDotがあああああ
◇計算上は因数分解して別にかけたものを足し合わせる方が効率がいい
たとえば60*60をするとき、一括よりも(2,2,3,5)*(2,2,3,5)の方が効率はいい
ただし回路がテラとてつもない回路になる
◇これで30000Dotだから2桁*2桁を作るにはもっと省スペース化するべき
◇kwskは>>135周辺
618 :立田 ◆UWAAAAAA..:2010/01/23(土) 14:47:18 ID:w4GXwh.M0
>>614と作品を10分ほど見比べてやっと理解しました
回答thx
619 : ◆OMAMEmApsk:2010/01/23(土) 15:55:03 ID:ai4KFye20
もう、回路wikiあってもよくね?
620 : ◆OMAMEmApsk:2010/01/23(土) 17:19:50 ID:ai4KFye20
ttp://www21.atwiki.jp/glass_light/pages/1.html
621 :tactics:2010/01/23(土) 18:13:42 ID:7gWCeK.wC
じゃあどんどん編集していいですかね
622 : ◆OMAMEmApsk:2010/01/23(土) 18:19:31 ID:ai4KFye20
>>621
おねです
特に用語
623 :箱田将軍 ◆HAKOsB2Bcw:2010/01/23(土) 21:17:34 ID:5xK7VET60
>>620
なんという素晴らしいWiki・・・
これは参加する