This is an old revision of the document!


수 시스템 (Number System)

레더로직에서 사용하는 기본 데이터 처리 단위는 워드(16비트)더블워드(32비트)입니다.
큐블록 레더 환경의 특성에 맞춘 수 체계 가이드는 다음과 같습니다.

1. 메모리 구조 (D영역)

  • D영역(Data Register): 기본적으로 16비트(1 Word) 단위로 구성됩니다.
  • 더블워드 처리: 32비트 데이터를 다루기 위해서는 연속된 2개의 D영역이 필요합니다. (예: D0와 D1을 합쳐 하나의 32비트 값 저장)

2. 데이터 타입 및 범위 제한

본 시스템은 기본적으로 부호 없는 정수를 쓰는 워드(Word)영역과, 부호 있는 정수(2의 보수)를 쓰는 더블워드(D-Word)을 지원합니다.

단위 비트 수 10진수 범위 (Unsigned) 16진수 범위
워드 (Word) 16-bit 0 ~ 65,535 0000H ~ FFFFH
더블워드 (D-Word) 32-bit -2,147,483,648 ~ +2,147,483,647 80000000H ~ 7FFFFFFFH
알림: 워드(Word)는 부호없는 정수로 처리됩니다. 단 더블워드(D-Word)는 부호있는 정수로 처리됩니다. 부호있는 정수의 경우에는 2의 보수 형식이 적용됩니다.

3. 더블워드에서의 음수 및 부호 처리 (2의 보수 사용)

더블워드의 경우 , 음수 표현을 위해 2의 보수(2's Complement) 을 사용합니다.

  • 음수 생성 방법:
  1. 양수 값의 모든 비트를 반전(NOT 연산)합니다.
  2. 반전된 값에 1을 더합니다(ADD 1).
  • 값의 해석:
  1. MSB가 0인 경우: 0 또는 양수로 해석합니다.
  2. MSB가 1인 경우: 시스템상에서는 큰 양수로 보이나, 2의 보수 체계에서는 음수로 간주합니다.

주의할 점

더블워드의 경우 아래와 같이 4억을 넣을수 없습니다. 부호있는 32비트 정수의 최대 숫자는 +2,147,483,647이기 때문입니다.

아래와 같이 사용하실 수 있습니다.

연산 주의

  • 곱셈이나 나눗셈 시 MSB가 1인 데이터를 다루면 결과값이 예상과 다를 수 있으므로, 연산 전후에 부호 비트 체크가 필요할 수 있습니다.
작업 팁: `-1`을 표현하고 싶다면 16비트 연산 시 `FFFFH`, 32비트 연산 시 `FFFFFFFFH`를 사용하십시오. 이는 시스템에서 각각 65,535와 4,294,967,295로 인식되지만, 2의 보수 연산 규칙에 의해 `-1`로서 작동합니다.

CUBLOC 레더로직 목록으로 가기