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

Arithmetic combinator/cs: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
m (Link fixes.)
m (→‎Poznámky k operacím: One word slipped.)
Line 39: Line 39:
* -19 / -10 = 1
* -19 / -10 = 1


Modulo, značené většinou programovacích jazyků jako %, je zbytkem po celočíselném dělení. Například 13 % 3 is 1 (13 = 4 * 3 + 1). To je užitečné například při oddělování jednotlivých cifer čísla pro použití pro displeje:
Modulo, značené většinou programovacích jazyků jako %, je zbytkem po celočíselném dělení. Například 13 % 3 je 1 (13 = 4 * 3 + 1). To je užitečné například při oddělování jednotlivých cifer čísla pro použití pro displeje:
* (24321 / 10000) % 10  = 2
* (24321 / 10000) % 10  = 2
* (24321 / 1000) % 10  = 4
* (24321 / 1000) % 10  = 4

Revision as of 16:25, 17 December 2017

Arithmetic combinator.png
Aritmetický kombinátor

ArithmeticSprite.png

Recept

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

Počty základních surovin

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

Recept

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

Počty základních surovin

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

Barva na mapě

Životy

150

Velikost štosu

50

Konzumace energie

1 kw (elektrické)

Doba těžebí

0.1

Jméno prototypu

arithmetic-combinator

Interní jméno

arithmetic-combinator

Požadované technologie

Circuit network (research).png

Vytvářeno v

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

Aritmetický kombinátor je součástí obvodové sítě a jedním ze třech typů kombinátoru ve hře (společně s konstantním a rozhodovacím kombinátorem). Každý aritmetický kombinátor provádí jednu z dostupných aritmetických operací na signálech, a bude ukazovat symbol dotyčné operace na své horní straně:

  • sčítání (+)
  • odčítání (-)
  • násobení (*)
  • dělení (/)
  • modulo (%)
  • umocnění (^)
  • levý bitový posun (<<)
  • pravý bitový posun (>>)
  • bitové AND (&)
  • bitové OR (|)
  • bitové XOR (^)

Kombinátor přijímá až dvě vstupní připojení (červený a zelený drát) a výstup posílá do obou výstupních sběrnic. Vstupní zdířky jsou více zasunuté do těla kombinátoru, výstupní zdířky jsou více vyvedeny ven. Při použití klávesy Alt se také zobrazí šipky znázorňující vstup a výstup.

Funkce

Vnitřní logika pokračuje ve třech krocích:

  1. Každý signál nastavený jako vstupní je sečten ze zelených a červených připojení uvnitř kombinátoru.
  2. Na výsledku je provedena nastavená aritmetická operace.
  3. Výsledek operace je vysílán do vstupu jako předem nastavený kanál.

Levá část operace může být jakýkoliv signál včetně virtuálního signálu každý, pravá část může být jakýkoliv signál nebo konstantní hodnota. Je-li levá část výrazu jeden signál, výstup je také jeden signál.

Pokud je levá část výrazu signál každý, výstup je buď jeden signál nebo také signál každý. Je-li výstup signál každý, provádí se operace na každém signálu zvlášť a výsledky jsou také vysílány zvlášť na stejném kanálu, jako byl vstupní kanál výpočtu. Pokud je výstup jediný kanál, výsledky ze všech kanálů na vstupu se sečtou a vyšlou na zvoleném kanálu.

Poznámky k operacím

Při dělení se výsledek zaokrouhluje dolů:

  • 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, značené většinou programovacích jazyků jako %, je zbytkem po celočíselném dělení. Například 13 % 3 je 1 (13 = 4 * 3 + 1). To je užitečné například při oddělování jednotlivých cifer čísla pro použití pro displeje:

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

Je-li dělenec záporný, výsledek je také záporný. Záporný dělitel ale nečiní výsledek záporným.

  • 13 % 3 = 1
  • 13 % -3 = 1
  • -13 % 3 = -1
  • -13 % -3 = -1

Další četba