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

Arithmetic combinator/de: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
m (fixed links)
("Linke/Rechts Bitverschiebung" -> Bitverschiebung links/rechts". Es sind keine rechten oder linken Verschiebungen, sondern Verschiebungen nach rechts oder links)
Line 11: Line 11:
* Modulo (<span style="color:yellow">%</span>)
* Modulo (<span style="color:yellow">%</span>)
* Potenzierung (<span style="color:yellow">^</span>)
* Potenzierung (<span style="color:yellow">^</span>)
* Linke Bitverschiebung (<span style="color:cyan"><<</span>)
* Bitverschiebung links (<span style="color:cyan"><<</span>)
* Rechte Bitverschiebung (<span style="color:cyan">>></span>)
* Bitverschiebung rechts (<span style="color:cyan">>></span>)
* AND (und) (<span style="color:cyan">&</span>)
* AND (und) (<span style="color:cyan">&</span>)
* OR (oder) (<span style="color:cyan">|</span>)
* OR (oder) (<span style="color:cyan">|</span>)
Line 20: Line 20:
Der Kombinator für Berechnungen akzeptiert zwei Eingangsanschlüsse (rote und grüne Kabel) und sendet seinen Ausgang an beide Ausgangsanschlüsse. Die Eingangsleitungen werden mit den Noppen auf der linken Seite verbunden, während die Ausgänge mit der rechten Seite verbunden werden.
Der Kombinator für Berechnungen akzeptiert zwei Eingangsanschlüsse (rote und grüne Kabel) und sendet seinen Ausgang an beide Ausgangsanschlüsse. Die Eingangsleitungen werden mit den Noppen auf der linken Seite verbunden, während die Ausgänge mit der rechten Seite verbunden werden.


== Funktion ==  
== Funktion ==
Der interne Logikprozess besteht aus drei Schritten:  
Der interne Logikprozess besteht aus drei Schritten:
# Alle Eingangssignale an den roten und grünen Drähten werden im Kombinator summiert.  
# Alle Eingangssignale an den roten und grünen Drähten werden im Kombinator summiert.
# Die angegebene Operation wird für die ausgewählten Signale ausgeführt.  
# Die angegebene Operation wird für die ausgewählten Signale ausgeführt.
# Das Ergebnis dieser Operation wird als ausgewähltes Ausgangssignal ausgegeben.
# Das Ergebnis dieser Operation wird als ausgewähltes Ausgangssignal ausgegeben.


Line 30: Line 30:




== Hinweise zu Operationen ==  
== Hinweise zu Operationen ==
Bei Verwendung von '''Division''' wird das Ergebnis abgeschnitten:  
Bei Verwendung von '''Division''' wird das Ergebnis abgeschnitten:
* 21/10 = 2  
* 21/10 = 2
* 19/10 = 1  
* 19/10 = 1
* –21 / 10 = –2  
* –21 / 10 = –2
* –19 / 10 = –1  
* –19 / 10 = –1
* 21 / –10 = –2  
* 21 / –10 = –2
* 19 / −10 = −1  
* 19 / −10 = −1
* –21 / –10 = 2  
* –21 / –10 = 2
* –19 / –10 = 1  
* –19 / –10 = 1




'''Modulo''', angegeben mit %, wie es in den meisten Programmiersprachen der Fall ist, ist der Rest nach der Division. Zum Beispiel ist 13% 3 1 (13 = 4 · 3 + 1). Dies kann zum Beispiel wie oben beschrieben mit einer abgeschnittenen Unterteilung kombiniert werden, um einzelne Ziffern einer Zahl zur Verwendung beim Erstellen visueller Indikatoren zu trennen:  
'''Modulo''', angegeben mit %, wie es in den meisten Programmiersprachen der Fall ist, ist der Rest nach der Division. Zum Beispiel ist 13% 3 1 (13 = 4 · 3 + 1). Dies kann zum Beispiel wie oben beschrieben mit einer abgeschnittenen Unterteilung kombiniert werden, um einzelne Ziffern einer Zahl zur Verwendung beim Erstellen visueller Indikatoren zu trennen:
* (24321/10000)% 10 = 2  
* (24321/10000)% 10 = 2
* (24321/1000)% 10 = 4  
* (24321/1000)% 10 = 4
* (24321/100)% 10 = 3  
* (24321/100)% 10 = 3
* (24321/10)% 10 = 2  
* (24321/10)% 10 = 2
* (24321/1)% 10 = 1  
* (24321/1)% 10 = 1
Das Negieren des linken Operanden eines Modulos negiert das Ergebnis, während das Negieren des rechten Operanden nichts bewirkt:  
Das Negieren des linken Operanden eines Modulos negiert das Ergebnis, während das Negieren des rechten Operanden nichts bewirkt:
* 13% 3 = 1  
* 13% 3 = 1
* 13% –3 = 1  
* 13% –3 = 1
* –13% 3 = –1  
* –13% 3 = –1
* −13% −3 = −1  
* −13% −3 = −1




'''Linke Bitverschiebung''' und '''Rechte Bitverschiebung''' sind keine Arithmetik. Stattdessen befassen sich diese Optionen mit Zahlen im Status [[: Wikipedia: Binärnummer | binär]]. Die Nullen und Einsen, aus denen eine Zahl besteht, werden in die angegebene Richtung verschoben, was aufgrund der Änderung des Binärwerts zu einer völlig anderen Zahl führen kann.
'''Bitverschiebung links''' und '''Bitverschiebung rechts''' sind keine Arithmetik. Stattdessen befassen sich diese Optionen mit Zahlen im Status [[: Wikipedia: Binärnummer | binär]]. Die Nullen und Einsen, aus denen eine Zahl besteht, werden in die angegebene Richtung verschoben, was aufgrund der Änderung des Binärwerts zu einer völlig anderen Zahl führen kann.
[[file: Bitshiftleft.png | none | thumb | 200px | Beispiel für eine 'Linke Bitverschiebung'.]]
[[File: Bitshiftleft.png | none | thumb | 200px | Beispiel für eine 'Bitverschiebung links'.]]


==Siehe auch==
==Siehe auch==

Revision as of 16:16, 15 April 2021

Arithmetic combinator.png
Kombinator für Berechnungen

ArithmeticSprite.png

Bauplan

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

Gesamtressourcen

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

Bauplan

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

Gesamtressourcen

Time.png
14.25
+
Copper plate.png
22.5
+
Iron plate.png
10

Farbe auf Karte

Trefferpunkte

150

Stapelgröße

50

Energieverbrauch

1 kw (elektrisch)

Abbauzeit

0.1

Prototyp-Typ

arithmetic-combinator

Interner Name

arithmetic-combinator

Benötigte Technologien

Circuit network (research).png

Produziert von

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

Der Kombinator für Berechnungen ist Teil des Schaltungsnetz und einer von drei Arten von Kombinatoren, die im Spiel verfügbar sind (zusammen mit dem Kombinator für Konstanten und dem Kombinator für Vergleiche). Jeder Kombinator für Berechnungen kann eine der folgenden mathematischen Operationen an Signalen ausführen und zeigt das entsprechende Symbol oben an:

Arith combinator anim.png

  • Addition (+)
  • Subtraktion ()
  • Multiplikation (*)
  • Division(/)
  • Modulo (%)
  • Potenzierung (^)
  • Bitverschiebung links (<<)
  • Bitverschiebung rechts (>>)
  • AND (und) (&)
  • OR (oder) (|)
  • XOR (exklusiv-oder) (^)


Der Kombinator für Berechnungen akzeptiert zwei Eingangsanschlüsse (rote und grüne Kabel) und sendet seinen Ausgang an beide Ausgangsanschlüsse. Die Eingangsleitungen werden mit den Noppen auf der linken Seite verbunden, während die Ausgänge mit der rechten Seite verbunden werden.

Funktion

Der interne Logikprozess besteht aus drei Schritten:

  1. Alle Eingangssignale an den roten und grünen Drähten werden im Kombinator summiert.
  2. Die angegebene Operation wird für die ausgewählten Signale ausgeführt.
  3. Das Ergebnis dieser Operation wird als ausgewähltes Ausgangssignal ausgegeben.


Der linke Operand der Operation kann ein beliebiges einzelnes Signal oder das virtuelle Signal Jedes sein, und der rechte Operand kann ein einzelnes Signal oder ein konstanter Wert sein. Wenn der linke Operand ein einzelnes Signal ist, muss der Ausgang ein einzelnes Signal sein. Die Operation wird an den Werten der ausgewählten linken und rechten Signale ausgeführt, und das Ergebnis wird mit dem angegebenen Signal an den Ausgang gesendet. Wenn der linke Operand das Jedes Signal ist, kann der Ausgang ein einzelnes Signal oder das Jedes Signal sein. Wenn der Ausgang das Jedes Signal ist, wird die Operation einzeln mit dem Wert jedes Eingangssignals zusammen mit dem Wert des rechten Operanden ausgeführt, und jedes Ergebnis wird mit demselben Signal an den Ausgang gesendet. Wenn der Ausgang ein einzelnes Signal ist, wird die Operation an jedem der Eingangssignale durchgeführt, die einzelnen Ergebnisse werden alle addiert und dieses Ergebnis wird an den Ausgang des angegebenen Signals gesendet.


Hinweise zu Operationen

Bei Verwendung von Division wird das Ergebnis abgeschnitten:

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


Modulo, angegeben mit %, wie es in den meisten Programmiersprachen der Fall ist, ist der Rest nach der Division. Zum Beispiel ist 13% 3 1 (13 = 4 · 3 + 1). Dies kann zum Beispiel wie oben beschrieben mit einer abgeschnittenen Unterteilung kombiniert werden, um einzelne Ziffern einer Zahl zur Verwendung beim Erstellen visueller Indikatoren zu trennen:

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

Das Negieren des linken Operanden eines Modulos negiert das Ergebnis, während das Negieren des rechten Operanden nichts bewirkt:

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


Bitverschiebung links und Bitverschiebung rechts sind keine Arithmetik. Stattdessen befassen sich diese Optionen mit Zahlen im Status binär. Die Nullen und Einsen, aus denen eine Zahl besteht, werden in die angegebene Richtung verschoben, was aufgrund der Änderung des Binärwerts zu einer völlig anderen Zahl führen kann.

Beispiel für eine 'Bitverschiebung links'.

Siehe auch