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

Arithmetic combinator/cs: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
m (→‎Poznámky k operacím: One word slipped.)
(Changed links going to the redirect Tutorial:Circuit-network_Cookbook to go to Tutorial:Circuit network cookbook.)
 
(2 intermediate revisions by 2 users not shown)
Line 24: Line 24:
# Výsledek operace je vysílán do vstupu jako předem nastavený kanál.
# 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ě [[Virtual signals#Each|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.
Levá část operace může být jakýkoliv signál včetně [[Circuit_network/cs#Logický signál|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.
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.
Line 56: Line 56:
*{{L|Constant combinator}}
*{{L|Constant combinator}}
*{{L|Circuit network}}
*{{L|Circuit network}}
*[[Tutorial:Combinator Tutorial|Combinator tutorial]]
*[[Tutorial:Combinator tutorial|Combinator tutorial]]
*[[Tutorial:Circuit-network_Cookbook|Circuit network cookbook]]
*[[Tutorial:Circuit network cookbook|Circuit network cookbook]]


{{LogisticsNav}}
{{LogisticsNav}}
{{C|Circuit network}}
{{C|Circuit network}}

Latest revision as of 09:14, 9 July 2018

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

Barva na mapě

Životy

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

Velikost štosu

50

Rocket capacity

50 (1 stack)

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