Іншими мовами: Čeština Deutsch English Français 日本語 Polski Русский 简体中文

Арифметичний комбінатор

From Official Factorio Wiki
Revision as of 12:22, 19 July 2023 by DJSound (talk | contribs) (Додано сторінку Арифметичний комбінатор)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
Arithmetic combinator.png
Арифметичний комбінатор

ArithmeticSprite.png

Інгредієнти

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

Сировини загалом

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

Колір на мапі

Здоров’я

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

Розмір стеку

50

Rocket capacity

50 (1 stack)

Макс. споживання

1 kw (Електрика)

Час добування

0.1

Тип об’єкту

arithmetic-combinator

Внутрішньоігрова назва

arithmetic-combinator

Потребує технологію

Circuit network (research).png

Виробляється в

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

Арифметичний комбінатор є частиною логічної мережі і одним із трьох типів комбінаторів, доступних у грі (разом із постійним комбінатором і порівняльним комбінатором). Кожен арифметичний комбінатор може виконувати будь-яку з наступних математичних операцій над сигналами та показуватиме відповідний символ у верхній частині:

Arith combinator anim.png

  • додавання (+)
  • віднімання ()
  • множення (*)
  • ділення (/)
  • модуль (%)
  • піднесення до степеня (^)
  • зсув біта вліво (<<)
  • зсув біта вправо (>>)
  • побітове І (&)
  • побітове АБО (|)
  • виключаюче АБО (^)

Арифметичний комбінатор приймає два вхідних з’єднання (червоний і зелений дроти) і надсилає свій вихід на обидва вихідні з’єднання. Вхідні дроти підключаються до виступів на лівій стороні корпусу на бічній панелі, тоді як виходи підключаються до правої сторони.

Графічний інтерфейс арифметичного комбінатора.

Функціонал

Внутрішній логічний процес має три етапи:

  1. Усі вхідні сигнали на червоному та зеленому проводах підсумовуються в комбінаторі.
  2. Зазначена операція виконується над вибраним сигналом(ами).
  3. Результат цієї операції виводиться як вибраний вихідний сигнал.

Операндами можуть бути будь-які одиничні сигнали або постійні значення. До одного з операндів може бути застосовано віртуальний сигнал кожен.

Якщо жоден з операндів не є сигналом кожен, вихід має бути одним сигналом. Операція виконується над значеннями вибраного лівого та правого сигналів, а результат надсилається на вихід за вказаним сигналом.

Якщо одним операндом є сигнал кожен, тоді вихідним сигналом може бути один сигнал або сигнал кожен. Якщо вихідним сигналом є сигнал кожен, тоді операція виконується окремо над значенням кожного вхідного сигналу разом із значенням іншого операнда, і кожен результат надсилається на вихід за тим самим сигналом. Якщо виходом є один сигнал, операція виконується над кожним із вхідних сигналів, усі окремі результати додаються разом, і цей результат надсилається на вихід за вказаним сигналом.

Зауваження щодо операцій

При використанні ділення результат скорочується:

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

Модуль, позначається за допомогою %, як це в більшості мов програмування, є залишком після ділення. Наприклад, 13 % 3 дорівнює 1 (13 = 4 * 3 + 1). Це можна, наприклад, поєднати з скороченням, як описано вище, щоб відокремити окремі цифри числа для використання у побудові візуальних індикаторів:

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

Від’ємність лівого операнда модуля мінусує результат, тоді як від’ємність правого операнда нічого не робить:

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

Зсув біта вліво і Зсув біта вправо не є арифметичними. Натомість ці параметри стосуються чисел у бінарному стані. 0 і 1, які складають число, зсуваються у вказаному напрямку, що може призвести до зовсім іншого числа через зміну бінарного значення.

Приклад 'зсуву біта вліво'.

Див. також