本文へスキップ

論理ゲート

カテゴリ世界
logic-gates
カテゴリ
世界

概要

論理ゲート は、入力が真かどうかに基づいて出力信号を計算するワイヤ接続された存在です。ほとんどの 論理ゲート は常に 1 または 0 のいずれかを出力し、それぞれ真と偽を表します。例外は Transistor Gate です:これは任意の信号タイプを透過して出力でき、有効化入力が真でないときは 0 ではなく null を生成します。

信号の真偽はそのタイプによって決まります。Null、Conflict、および Integer = 0 は真ではありません。Integer ≠ 0、Shape、および Color は真です。論理ゲート は入力を評価する際にこの真偽性を使い、上記の Integer ルール以外の暗黙の数値変換によって評価することはありません。

主要なゲートの動作は次のとおりです。AND Gate は両方の入力が真のときのみ 1 を出力し、それ以外は 0 を出力します。OR Gate は少なくとも一方の入力が真のときに 1 を出力し、どの入力も真でないときは 0 を出力します。XOR Gate はちょうど一方の入力だけが真のときに 1 を出力し、両方またはどちらも真でないときは 0 を出力します。NOT Gate は入力が真でないときに 1 を出力し、入力が真のときに 0 を出力します。Comparison Gate は選択された比較モード(Equal, NotEqual, Greater, GreaterEqual, Less, LessEqual)に従って二つの入力信号を比較します。Equal と NotEqual モードではすべての信号タイプで厳密な等価/非等価をテストし、0 または 1 を出力します。数値比較モード(Greater, GreaterEqual, Less, LessEqual)では、両方の信号が整数の場合にのみ非ゼロの結果を返し、どちらかの入力が非整数なら出力は 0 になります。Transistor Gate は側面入力が真のときのみ後方から受け取った信号を透過し、側面入力が真でないときは出力が null になります。Transistor Gate は後方入力が持つ任意の信号タイプを出力できるため、Shape や Color、0 以外の整数値、その他の非ブール信号を透過できる唯一のゲートです。

論理信号は他のエンティティを特定の方法で駆動します。Belt Filter は ワイヤー 入力信号を使ってどの出力ベルトに形状を送るかを選びます:Null または Conflict はベルトを完全にブロックします;Integer = 0 はすべての形状を側面出力に送ります;Integer ≠ 0 はすべての形状を直進させます;Shape 信号は一致する形状を直進させ、一致しない形状を側面に送ります;Color 信号はフィルタがすべての形状を側面に送る原因になります。Pipe Gate は流体のスループットを制御します:Null、Conflict、および Integer = 0 は流体を遮断します;Integer ≠ 0 はスループットを許可します;Color は流体がその色信号と一致する場合にのみスループットを許可します。Belt Reader はそこを通過する形状の毎分レートを表示し、その ワイヤー 出力に対して形状の Shape Signal を出力します。

  • Logic Gate の出力は、上述のルールを超える暗黙のキャストではなく、入力の真偽性にのみ依存します。
  • 任意の信号タイプをゲートするには Transistor Gate を使ってください;無効時は 0 ではなく null を出力することを忘れないでください。
  • 非数値タイプには Comparison Gate の Equal/NotEqual を使い、数値比較モードは両方の入力が整数のときにのみ使ってください。
  • フィルタやパイプに配線するときは、対象となるエンティティが期待する信号タイプ(Shape、Color、整数)を確認してください。挙動は対象エンティティによって異なります。

同じ種類のエンティティ

関連ページ

最終更新: