Arithmetic combinator/cs: Difference between revisions
(Created page with "{{Languages}} {{:Infobox:Arithmetic combinator}} Aritmetický kombinátor je součástí circuit network a jedním ze třech typů kombinátoru ve hře (společně s con...") |
m (Link fixes.) |
||
Line 1: | Line 1: | ||
{{Languages}} | {{Languages}} | ||
{{:Infobox:Arithmetic combinator}} | {{:Infobox:Arithmetic combinator}} | ||
Aritmetický kombinátor je součástí [[circuit network]] a jedním ze třech typů kombinátoru ve hře (společně s [[constant combinator]] a [[decider combinator]]). 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ě: | Aritmetický kombinátor je součástí [[circuit network|obvodové sítě]] a jedním ze třech typů kombinátoru ve hře (společně s [[constant combinator|konstantním]] a [[decider combinator|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í (<span style="color:yellow">+</span>) | * sčítání (<span style="color:yellow">+</span>) | ||
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|'' | 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. | ||
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 55: | Line 55: | ||
*{{L|Decider combinator}} | *{{L|Decider combinator}} | ||
*{{L|Constant combinator}} | *{{L|Constant combinator}} | ||
*{{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}} |
Revision as of 16:23, 17 December 2017
Aritmetický kombinátor |
Recept |
|
+ + → | |
Počty základních surovin |
|
+ + |
Recept |
|
+ + → | |
Počty základních surovin |
|
+ + |
Barva na mapě |
|
Životy |
150 |
Velikost štosu |
50 |
Konzumace energie |
1 kw (elektrické) |
Doba těžebí |
0.1 |
Jméno prototypu |
|
Interní jméno |
arithmetic-combinator |
Požadované technologie |
|
Vytvářeno v |
|
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:
- Každý signál nastavený jako vstupní je sečten ze zelených a červených připojení uvnitř kombinátoru.
- Na výsledku je provedena nastavená aritmetická operace.
- 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 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:
- (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