Arithmetic combinator/pl: Difference between revisions
Page created |
Mefisto1029 (talk | contribs) No edit summary |
||
(2 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{Languages}}{{Translation verification|revisionID= | {{Languages}}{{Translation verification|revisionID=214173}} | ||
{{:Infobox:Arithmetic combinator}} | {{:Infobox:Arithmetic combinator}} | ||
'''Sterownik arytmetyczny''' jest częścią [[circuit network/pl|sieci sterowniczej]] i jednym z | '''Sterownik arytmetyczny''' jest częścią [[circuit network/pl|sieci sterowniczej]] i jednym z czterech sterowników dostępnych w grze (wraz z [[constant combinator/pl|sterownikiem stałym]], [[decider combinator/pl|sterownikiem decyzyjnym]] i [[selector combinator/pl|sterownikiem sortującym]]). Ekran na górze maszyny pokazuje symbol wybranej operacji. Sterownik może wykonać jedną z poniższych operacji na doprowadzonych sygnałach: | ||
[[File:arith_combinator_anim.png]] | [[File:arith_combinator_anim.png]] | ||
Line 23: | Line 23: | ||
== Działanie == | == Działanie == | ||
Operandy mogą być dowolnym pojedynczym sygnałem lub stałą wartością. Maksymalnie jeden z operandów może być [[Circuit network/pl#Każdy|wirtualnym sygnałem''każdy'']]. Dla każdego operandu sygnału można wybrać przewody wejściowe. Jeśli wybrane zostaną oba przewody, wejścia są sumowane. | |||
Jeśli żaden z operandów nie jest sygnałem ''"każdy"'', wyjście musi być pojedynczym sygnałem. Operacja jest wykonywana na wartościach wybranego lewego i prawego sygnału, a wynik jest wysyłany do wyjścia na określonym sygnale. | Jeśli żaden z operandów nie jest sygnałem ''"każdy"'', wyjście musi być pojedynczym sygnałem. Operacja jest wykonywana na wartościach wybranego lewego i prawego sygnału, a wynik jest wysyłany do wyjścia na określonym sygnale. | ||
Line 60: | Line 54: | ||
* −13 % −3 = −1 | * −13 % −3 = −1 | ||
'''Przesunięcie bitowe w | '''Przesunięcie bitowe w prawo''' i '''Przesunięcie bitowe w lewo''' dotyczą liczb w reprezentacji [[:Wikipedia:pl:Dwójkowy system liczbowy|binarnej]]. Zera i jedynki tworzące liczbę są przesuwane w określonym kierunku, co może skutkować zupełnie inną liczbą, ze względu na zmianę wartości binarnej. Wykonywane przesunięcie nazywa się przesunięciem arytmetycznym, ponieważ zachowuje bit znaku na przesunięciu bitowym w prawo. | ||
W przypadku przesunięcia w lewo, 0 jest wstawiane do najmniej znaczącego bitu (LSB), a bit w najbardziej znaczącym bicie (MSB) jest tracony. | |||
W przypadku przesunięcia w prawo i liczba jest dodatnia (MSB=0), 0 jest wstawiane do MSB, a bit w LSB jest tracony. | |||
W przypadku przesunięcia w prawo i liczba jest ujemna (MSB=1), 1 jest wstawiane do MSB, aby zachować znak, a bit w LSB jest tracony. | |||
[[File:Bitshiftleft.png|none|thumb|200px|Przykład operacji 'Przesunięcie bitowe w lewo'.]] | [[File:Bitshiftleft.png|none|thumb|200px|Przykład operacji 'Przesunięcie bitowe w lewo'.]] | ||
[[File:BitshiftRightZero.png|none|thumb|200px|Przykład operacji 'Przesunięcie bitowe w prawo (liczba dodatnia)'.]] | |||
[[File:BitshiftRightOne.png|none|thumb|200px|Przykład operacji 'Przesunięcie bitowe w prawo (liczba ujemna)'.]] | |||
== Historia == | |||
{{history|2.0.7| | |||
* Przebudowano interfejs użytkownika. | |||
** Teraz wyświetla sygnały wejściowe podczas konfigurowania sterowników. | |||
** Sygnały używane przez sterowniki można teraz filtrować między kolorem czerwonym, zielonym lub obydwoma.}} | |||
{{history|0.15.0| | |||
* Dodano Modulo, Potęgowanie, Przesunięcie bitowe w lewo, Przesunięcie bitowe w prawo, Bitowe AND, Bitowe OR i Bitowe XOR do Sterownika Arytmetycznego. | |||
* Added Modulo, Power, Left Bit Shift, Right Bit Shift, Bitwise AND, Bitwise OR and Bitwise XOR to the Arithmetic Combinator.}} | |||
{{history|0.13.0| | |||
* Połączone przewody są podświetlane po najechaniu kursorem na sterownik podłączony do [[circuit network/pl|sieci sterowniczej]]. | |||
* Sterowniki pokazują dane wejściowe i wyjściowe w trybie alt. | |||
* Więcej wirtualnych sygnałów dla sterowników. | |||
* Nowa grafika sterowników.}} | |||
{{history|0.12.5| | |||
* Sterowniki teraz emitują światło.}} | |||
{{history|0.12.2| | |||
* Sterowniki nie wyłączają się już, gdy nie są podłączone żadne przewody.}} | |||
{{history|0.12.0| | |||
* Wprowadzono.}} | |||
==Zobacz również== | == Zobacz również == | ||
* | * {{L|Circuit network}} | ||
* | * {{L|Combinators}} | ||
* | ** {{L|Decider combinator}} | ||
* | ** {{L|Constant combinator}} | ||
** {{L|Selector combinator}} | |||
* {{L|Tutorial:Combinator tutorial}} | |||
* {{L|Tutorial:Circuit network cookbook}} | |||
{{LogisticsNav}} | {{LogisticsNav}} | ||
{{C|Circuit network}} | {{C|Circuit network}} |
Latest revision as of 09:08, 29 May 2025
Sterownik arytmetyczny |
Receptura |
|||||||||||||
+ + → | |||||||||||||
Łącznie surowce |
|||||||||||||
+ + | |||||||||||||
Kolor na mapie |
|||||||||||||
Zdrowie |
|
||||||||||||
Wielkość stosu |
50 |
||||||||||||
50 (1 stos) |
|||||||||||||
Zużycie energii |
1 kw (elektryczny) |
||||||||||||
Czas wydobycia |
0.1 |
||||||||||||
Rodzaj prototypu |
|||||||||||||
Nazwa wewnętrzna |
arithmetic-combinator |
||||||||||||
Wymagana technologia |
|||||||||||||
Produkowane w |
|||||||||||||
Sterownik arytmetyczny jest częścią sieci sterowniczej i jednym z czterech sterowników dostępnych w grze (wraz z sterownikiem stałym, sterownikiem decyzyjnym i sterownikiem sortującym). Ekran na górze maszyny pokazuje symbol wybranej operacji. Sterownik może wykonać jedną z poniższych operacji na doprowadzonych sygnałach:
- dodawanie (+)
- odejmowanie (−)
- mnożenie (*)
- dzielenie (/)
- modulo (%)
- potęgowanie (^)
- przesunięcie bitowe w lewo (<<)
- przesunięcie bitowe w prawo (>>)
- bitowa operacja AND (&)
- bitowa operacja OR (|)
- bitowa operacja XOR (^)
Sterownik arytmetyczny przyjmuje dwa połączenia wejściowe (czerwony i zielony przewód) i wysyła dane wyjściowe do obu połączeń wyjściowych. Przewody wejściowe podłącza się do terminali po lewej stronie maszyny, a przewody wyjściowe do terminali po prawej stronie maszyny.
Działanie
Operandy mogą być dowolnym pojedynczym sygnałem lub stałą wartością. Maksymalnie jeden z operandów może być wirtualnym sygnałemkażdy. Dla każdego operandu sygnału można wybrać przewody wejściowe. Jeśli wybrane zostaną oba przewody, wejścia są sumowane.
Jeśli żaden z operandów nie jest sygnałem "każdy", wyjście musi być pojedynczym sygnałem. Operacja jest wykonywana na wartościach wybranego lewego i prawego sygnału, a wynik jest wysyłany do wyjścia na określonym sygnale.
Jeśli jednym z operandów jest sygnał "każdy", wówczas wyjście może być pojedynczym sygnałem lub sygnałem "każdy". Jeśli wyjście jest sygnałem "każdy", wówczas operacja jest wykonywana indywidualnie na wartości każdego sygnału wejściowego wraz z wartością drugiego operandu, a każdy wynik jest wysyłany do wyjścia na tym samym sygnale. Jeśli wyjście jest pojedynczym sygnałem, operacja jest wykonywana na każdym z sygnałów wejściowych, poszczególne wyniki są sumowane, a ostateczny wynik jest wysyłany do wyjścia na określonym sygnale.
Uwagi dotyczące operacji arytemtycznych
W przypadku użycia dzielenia wynik jest obcinany po przecinku:
- 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, oznaczane za pomocą %, jak w większości języków programowania, to reszta z dzielenia. Na przykład 13 % 3 to 1 (13 = 4 * 3 + 1). Operator można połączyć na przykład z obcinanym dzieleniem, jak opisano powyżej, aby oddzielić poszczególne cyfry liczby do wykorzystania w budowaniu wizualnych wskaźników:
- (24321 / 10000) % 10 = 2
- (24321 / 1000) % 10 = 4
- (24321 / 100) % 10 = 3
- (24321 / 10) % 10 = 2
- (24321 / 1) % 10 = 1
Negacja operandu po lewej stronie modulo neguje wynik, podczas gdy negacja operandu po prawej stronie nie ma żadnego efektu:
- 13 % 3 = 1
- 13 % −3 = 1
- −13 % 3 = −1
- −13 % −3 = −1
Przesunięcie bitowe w prawo i Przesunięcie bitowe w lewo dotyczą liczb w reprezentacji binarnej. Zera i jedynki tworzące liczbę są przesuwane w określonym kierunku, co może skutkować zupełnie inną liczbą, ze względu na zmianę wartości binarnej. Wykonywane przesunięcie nazywa się przesunięciem arytmetycznym, ponieważ zachowuje bit znaku na przesunięciu bitowym w prawo. W przypadku przesunięcia w lewo, 0 jest wstawiane do najmniej znaczącego bitu (LSB), a bit w najbardziej znaczącym bicie (MSB) jest tracony. W przypadku przesunięcia w prawo i liczba jest dodatnia (MSB=0), 0 jest wstawiane do MSB, a bit w LSB jest tracony. W przypadku przesunięcia w prawo i liczba jest ujemna (MSB=1), 1 jest wstawiane do MSB, aby zachować znak, a bit w LSB jest tracony.



Historia
- 2.0.7:
- Przebudowano interfejs użytkownika.
- Teraz wyświetla sygnały wejściowe podczas konfigurowania sterowników.
- Sygnały używane przez sterowniki można teraz filtrować między kolorem czerwonym, zielonym lub obydwoma.
- Przebudowano interfejs użytkownika.
- 0.15.0:
- Dodano Modulo, Potęgowanie, Przesunięcie bitowe w lewo, Przesunięcie bitowe w prawo, Bitowe AND, Bitowe OR i Bitowe XOR do Sterownika Arytmetycznego.
- Added Modulo, Power, Left Bit Shift, Right Bit Shift, Bitwise AND, Bitwise OR and Bitwise XOR to the Arithmetic Combinator.
- 0.13.0:
- Połączone przewody są podświetlane po najechaniu kursorem na sterownik podłączony do sieci sterowniczej.
- Sterowniki pokazują dane wejściowe i wyjściowe w trybie alt.
- Więcej wirtualnych sygnałów dla sterowników.
- Nowa grafika sterowników.
- 0.12.5:
- Sterowniki teraz emitują światło.
- 0.12.2:
- Sterowniki nie wyłączają się już, gdy nie są podłączone żadne przewody.
- 0.12.0:
- Wprowadzono.