Skip to main content

Логические вентили

CategoryМир
logic-gates
Category
Мир

Overview

Логические вентили — это соединённые проводами сущности, которые вычисляют выходной сигнал на основе того, являются ли их входы истинными. Большинство Логические вентили всегда выводят либо 1, либо 0, представляя соответственно истинное и ложное значения. Исключение — Transistor Gate: он может передавать и выводить любой тип сигнала и выдаёт null (не 0), когда его управляющий вход не является истинным.

Истинность сигналов определяется их типом. 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) он даёт ненулевой результат только когда оба сигнала являются Integer; если хотя бы один вход не является Integer, выход равен 0. Transistor Gate пропускает сигнал, получаемый с заднего входа (rear), только когда боковой вход является истинным; когда боковой вход не истинный, его выход равен 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, чтобы пропускать произвольные типы сигналов; помните, что когда он отключён, он выдаёт null, а не 0.
  • Используйте Comparison Gate в режимах Equal/NotEqual для типов, не являющихся числами; числовые режимы сравнения применяйте только когда оба входа — Integer.
  • При проводке фильтров или труб проверяйте ожидаемый тип сигнала (Shape, Color, integer), потому что поведение различается в зависимости от целевой сущности.

Other entities of this type

Related pages

Last updated: