본문으로 건너뛰기

산술 연산 조합기

카테고리회로
카테고리
회로
프로토타입 종류
arithmetic-combinator
내부 이름
arithmetic-combinator
행성
nauvis

개요

산술 조합기(Arithmetic combinator)는 신호 처리용 회로망 구성 요소로, 두 피연산자(각각 단일 신호 또는 상수 값)를 지정해 연산을 수행하고 결과를 출력한다.
피연산자 중 최대 하나는 특수 가상 신호인 each를 사용할 수 있다.
입력은 선택한 전선에서 들어오는 신호값을 사용하며, 양쪽 전선을 모두 선택하면 같은 신호의 값들이 합산되어 피연산자로 들어간다.

둘 다 each가 아니면 출력을 단일 신호 하나로 지정해야 한다.
이 경우 왼쪽과 오른쪽으로 선택한 신호들의 값에 대해 연산을 수행하고 그 결과를 지정한 신호로 보낸다.
한쪽 피연산자가 each인 경우 출력은 단일 신호 또는 each가 될 수 있다.
출력이 each이면 입력의 각 신호별로 다른 피연산자 값과 연산을 개별적으로 수행해 같은 신호에 결과를 출력한다.
출력이 단일 신호이면 입력 신호들 각각에 대해 연산을 수행한 뒤 개별 결과들을 모두 합산하여 지정한 신호로 보낸다.

나눗셈 연산은 결과가 버림(정수화)된다(예: 21/10 = 2, −19/10 = −1). 나머지 연산(%)은 나눗셈의 나머지이며, 음수 취급은 왼쪽 피연산자 부호에 따라 결과 부호가 결정된다(예: −13 % 3 = −1, 13 % −3 = 1). 비트 시프트 연산(좌/우)은 이진 표현을 기준으로 수행되며, 우측 시프트는 산술 시프트로 부호 비트를 보존한다.
좌시프트는 LSB에 0을 삽입하고 MSB는 손실되며, 우시프트는 양수일 때 MSB에 0을, 음수일 때 MSB에 1을 삽입한다.

  • 각 신호별 처리가 필요한 경우 each를 출력으로 사용하면 간결하게 처리할 수 있다.
  • 여러 신호를 하나의 값으로 집계하려면 each 입력과 단일 출력 설정을 사용해 개별 결과를 합산한다.
  • 숫자 분해(예: 자리수 추출)는 나눗셈과 %를 조합해 구현한다(예: (n/10000)%10 등).
  • 음수 처리와 비트 연산의 특성을 이해해야 기대한 결과를 얻는다.

같은 종류의 엔티티