Skip to main content

Combinador de aritmética

CategoryCircuitos
arithmetic-combinator
Category
Circuitos
Power consumption (kW)
1
Prototype type
arithmetic-combinator
Internal name
arithmetic-combinator
Planet
nauvis

Overview

O Arithmetic combinator é uma entidade de rede de circuito que executa uma única operação binária sobre sinais das conexões de fio de circuito e emite o resultado como um sinal. Ele primeiro soma todos os sinais que chegam pelas entradas conectadas de Fio verde e Fio vermelho, depois aplica a operação configurada aos operandos esquerdo e direito escolhidos, e finalmente escreve o resultado no sinal de saída configurado. Cada operando pode ser qualquer sinal único ou um valor constante, e no máximo um operando pode ser o sinal virtual especial each.

Se tanto a entrada de Green wire quanto a de Red wire forem selecionadas para um operando, os valores desse operando serão a soma desses fios. Quando nenhum operando for o sinal each, o combinador produz um único sinal de saída: ele recupera o valor do sinal esquerdo escolhido e do sinal direito escolhido (após a soma das entradas) e retorna o resultado da operação no sinal de saída especificado. Quando um operando é o sinal each, o combinador pode emitir ou um único sinal ou o sinal each. Se a saída for each, o operador é aplicado separadamente ao valor de cada sinal de entrada em conjunto com o outro operando, e cada resultado é emitido no mesmo tipo de sinal. Se a saída for um único sinal, a operação é aplicada separadamente a cada sinal de entrada, os resultados individuais são somados, e esse total é enviado no sinal de saída configurado.

A divisão em arithmetic combinators usa truncamento em direção a zero para resultados inteiros. Por exemplo:

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

O operador de resto (Modulo (%)) retorna o resto após a divisão e segue as regras de sinal mostradas pelos exemplos:

  • 13 % 3 = 1, 13 % −3 = 1
  • −13 % 3 = −1, −13 % −3 = −1 Modulo pode ser combinado com divisão truncada para extrair dígitos de um número; por exemplo, (24321 / 10000) % 10 = 2, (24321 / 1000) % 10 = 4, e assim por diante.

Bit shift left e bit shift right operam sobre a representação binária dos números. Os shifts são aritméticos: left shifts inserem 0 no bit menos significativo e descartam o bit mais significativo. Right shifts preservam o bit de sinal: se o valor for positivo, um 0 é inserido no MSB; se for negativo, um 1 é inserido para manter o sinal, e o bit menos significativo é descartado.

  • Observações práticas:
  • Entradas conectadas por Green wire e Red wire são combinadas dentro do combinador; selecionar ambos os fios para uma entrada faz com que seus valores sejam somados antes da operação.
  • Você pode fornecer constantes como qualquer operando; no máximo um operando pode ser o sinal virtual each.
  • Escolha cuidadosamente o modo de saída: output = each aplica a operação por tipo de sinal e preserva as chaves dos sinais, enquanto output = single agrega resultados em um único sinal.
  • A divisão trunca em direção a zero; planeje o comportamento inteiro ao dividir números negativos.
  • Use modulo com divisão truncada para isolar dígitos ou restos; lembre-se de que o sinal do modulo segue o sinal do operando à esquerda.
  • Bit shifts são aritméticos: right shift preserva o sinal, left shift insere zeros à direita.
  • Combinar combinators em série ou em paralelo pode implementar aritmética mais complexa, comparações e lógica para exibição de dígitos.
No related recipes

Other entities of this type

Last updated: