In other languages: Čeština Deutsch English Français Polski Русский Українська 简体中文

算術回路

From Official Factorio Wiki
Jump to navigation Jump to search
Arithmetic combinator.png
算術回路

ArithmeticSprite.png

レシピ

Time.png
0.5
+
Copper cable.png
5
+
Electronic circuit.png
5
Arithmetic combinator.png
1

トータルコスト

Time.png
8
+
Copper plate.png
10
+
Iron plate.png
5

マップ上での表示色

耐久力

Quality normal.png 150
Quality uncommon.png 195 Quality rare.png 240
Quality epic.png 285 Quality legendary.png 375

最大スタック数

50

ロケット容量

50 (1 スタック)

エネルギー消費量

1 kw (電気)

採掘時間

0.1

Prototype type

arithmetic-combinator

Internal name

arithmetic-combinator

必要なテクノロジー

Circuit network (research).png

製作可能設備

Assembling machine 1.png
Assembling machine 2.png
Assembling machine 3.png
Player.png

算術回路は、回路ネットワークの一部であり、ゲームで利用できる四種類の回路のうちの一つ(残りは定数回路条件回路選別回路)である。 それぞれの算術回路は、信号に対して以下の演算を実行でき、それに対応した記号をその上面に表示する。

Arith combinator anim.png

  • 加算 (+)
  • 減算 ()
  • 乗算 (*)
  • 除算 (/)
  • 剰余 (%)
  • 累乗 (^)
  • 左ビットシフト (<<)
  • 右ビットシフト (>>)
  • ビットAND (&)
  • ビットOR (|)
  • ビットXOR (^)

算術回路は2つの入力(レッドケーブルとグリーンケーブル)を受け取り、両方の出力に結果を出力する。入力のケーブルはサイドバーの画像における左側のノブに接続し、出力は右側に接続する。

算術回路のGUI

機能

内部処理は3ステップに分かれる。

  1. レッドケーブルとグリーンケーブルからのすべての入力信号を回路内で合計する。
  2. 選択された信号に対して、指定された演算を実行する。
  3. 演算の結果を、選択された出力信号として出力する。

演算は、すべての信号または定数に対して可能である。最大1つのオペランドはそれぞれの 仮想シグナルを指定できる。

オペランドがそれぞれの信号であっても、出力は常に1つの信号になる。選択された左と右の信号に対して演算が行われて、指定された信号が出力に送られる。

オペランドがそれぞれの信号の場合、出力は単一の信号またはそれぞれの信号にできる。出力がそれぞれの信号の場合、それぞれの入力信号の種類ごとに演算が実行され、出力にも同じ種類の信号がそれぞれに送信される。 出力が単一の信号の場合、それぞれの入力信号の種類ごとに演算が実行され、それらが合算された結果の値が、指定された信号の出力として送られる。

演算の注意事項

'除算の場合、結果は切り捨てられる。

  • 21 / 10 = 2
  • 19 / 10 = 1
  • −21 / 10 = −2
  • −19 / 10 = −1
  • 21 / −10 = −2
  • 19 / −10 = −1
  • −21 / −10 = 2
  • −19 / −10 = 1

剰余は、多くのプログラミング言語と同様 % を使って表示され、除算の余りを示す。例えば、13 % 3 は 1 である(13 = 4 * 3 + 1)。例えば、上にあるような剰余と組み合わせることで、数値を各桁に分割するために使用できる。

  • (24321 / 10000) % 10 = 2
  • (24321 / 1000) % 10 = 4
  • (24321 / 100) % 10 = 3
  • (24321 / 10) % 10 = 2
  • (24321 / 1) % 10 = 1

剰余の左側のオペランドが負の値である場合、結果も負の値になるが、右のオペランドが負の値であっても結果は変わらない。

  • 13 % 3 = 1
  • 13 % −3 = 1
  • −13 % 3 = −1
  • −13 % −3 = −1

左ビットシフト右ビットシフト は数値を2進数として取り扱う。数値を構成する0と1が指定された方向にずらされた結果、2進数の値が変化するため、全く違う値になる可能性がある。このシフトは右ビットシフトで符号ビットを保持するため、算術シフトと呼ばれる。

左ビットシフトでは、最下位ビット(LSB)に0が挿入され、最上位ビット(MSB)は失われる。 正の数(MSB=0の数)の右ビットシフトでは、最上位ビット(MSB)に0が挿入され、最下位ビット(LSB)は失われる。 負の数(MSB=1の数)の右ビットシフトでは、符号を維持するために最上位ビット(MSB)に1が挿入され、最下位ビット(LSB)は失われる。

「左ビットシフト」の例
「正の数の右ビットシフト」の例
「負の数の右ビットシフト」の例

関連項目