本文へスキップ

算術回路

カテゴリ回路
カテゴリ
回路
プロトタイプ種別
arithmetic-combinator
内部名
arithmetic-combinator
惑星
nauvis

概要

算術回路は、回路ネットワーク上で数値演算を行う組み合わせ器である。
左辺と右辺に任意の単一シグナルか定数を指定でき、最大で一方に仮想シグナル「それぞれ(each)」を用いることができる。
入力は赤/緑ワイヤ両方から受け取り、両方選択した場合は合算されて演算に使われる。

両オペランドが通常のシグナルの場合、出力は単一シグナルになり、選択した左と右の値に対して指定した演算(加減乗除、剰余、ビットシフトなど)が行われ、その結果が指定シグナルとして出力される。
一方が「それぞれ」の場合、出力は単一シグナルか「それぞれ」のどちらかに設定可能。
出力を「それぞれ」にすると、各入力シグナルごとに演算が個別に行われ、同じシグナル名でそれぞれの結果が送信される。
出力を単一シグナルにした場合は、各入力シグナルに対して演算を行い個別結果を合算してからその合計を出力する。

割り算は切り捨てであり(例: 21/10=2、-21/10=-2)、剰余(%)は通常の余りとして動作する(例: 13%3=1)。
剰余の左オペランドを負にすると結果が負になり、右オペランドを負にしても結果は変わらない。
ビットシフトは符号を保持する算術シフトで動作するため、正負で挙動が異なる点に注意する。

  • 回路ネットワーク内で数値処理や条件回路・定数回路と組み合わせた論理/表示用途に用いられる。
  • 「それぞれ」を活用すると、複数シグナルに対する個別処理や合計化が簡潔に組める。
  • 剰余や切り捨てを使った桁分解や、ビット演算を使ったフラグ操作など高度な処理が可能である。
関連レシピなし

同じ種類のエンティティ