Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| cubloc:laddernumber:index [2026/03/04 20:36] – [2. 데이터 타입 및 범위 제한] admin | cubloc:laddernumber:index [2026/03/25 03:38] (current) – [잘못된 사용 예시] admin | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== 수 시스템 (Number System) ====== | ====== 수 시스템 (Number System) ====== | ||
| - | 레더로직에서 사용하는 기본 데이터 처리 단위는 **워드(16비트)**와 **더블워드(32비트)**입니다. \\ 큐블록 레더 환경의 | + | 래더로직에서 사용하는 기본 데이터 처리 단위는 **워드(16비트)**와 **더블워드(32비트)**입니다. \\ 큐블록 레더 환경은 시스템 예약 주소와의 간섭을 방지하기 위해 엄격한 |
| ===== 1. 메모리 구조 (D영역) ===== | ===== 1. 메모리 구조 (D영역) ===== | ||
| Line 10: | Line 10: | ||
| ===== 2. 데이터 타입 및 범위 제한 ===== | ===== 2. 데이터 타입 및 범위 제한 ===== | ||
| - | ^ 단위 ^ 비트 수 ^ 10진수 범위 | + | 본 시스템은 하드웨어 제어 포트(P, WP 등)와의 데이터 충돌을 방지하기 위해 **부호 없는 양수(Unsigned Integer)** 사용을 원칙으로 합니다. |
| + | |||
| + | ^ 단위 ^ 비트 수 ^ 10진수 | ||
| | 워드 (Word) | 16-bit | 0 ~ 65,535 | 0000H ~ FFFFH | | | 워드 (Word) | 16-bit | 0 ~ 65,535 | 0000H ~ FFFFH | | ||
| - | | 더블워드 (D-Word) | 32-bit | -2, | + | | 더블워드 (D-Word) | 32-bit | 0 ~ 2, |
| - | | 더블워드 (D-Word) | 32-bit | -2, | + | |
| - | > **알림:** 워드(Word)는 부호없는 정수로 처리됩니다. 단 더블워드(D-Word)는 부호있는 정수로 처리됩니다. 부호있는 정수의 경우에는 2의 보수 형식이 적용됩니다. | + | ===== 3. 상한치 제한 ===== |
| - | ===== 3. 더블워드에서의 음수 및 부호 | + | ==== 시스템 예약 주소와의 충돌 |
| + | * **0x7FFF1000 ~ 0x7FFFFFFF** 영역은 하드웨어 입출력 포트(P0, WP0 등)를 제어하기 위한 **Memory-Mapped I/O** 주소로 예약되어 있습니다. | ||
| + | * ** 워드(Word)와 | ||
| - | 더블워드의 경우 , 음수 표현을 위해 **2의 보수(2' | ||
| - | * **음수 생성 방법:** | + | ==== 잘못된 사용 예시 ==== |
| - | - 양수 값의 모든 비트를 반전(NOT 연산)합니다. | + | |
| - | - 반전된 값에 1을 더합니다(ADD 1). | + | |
| - | * **값의 해석:** | + | 더블워드에 |
| - | + | ||
| - | - **MSB가 0인 경우:** 0 또는 양수로 해석합니다. | + | |
| - | - **MSB가 1인 경우: | + | |
| - | + | ||
| - | ==== 주의할 점 ==== | + | |
| - | + | ||
| - | 더블워드의 경우 | + | |
| {{ : | {{ : | ||
| - | 아래와 같이 | + | 반드시 |
| {{ : | {{ : | ||
| - | 더블워드의 경우 | + | |
| + | 아래와 같이 | ||
| {{ : | {{ : | ||
| - | ====연산 주의==== | ||
| - | |||
| - | * 곱셈이나 나눗셈 시 MSB가 1인 데이터를 다루면 결과값이 예상과 다를 수 있으므로, | ||
| - | |||
| - | > **작업 팁:** `-1`을 표현하고 싶다면 , 32비트 연산 에서 `FFFFFFFFH`를 사용하십시오. 이는 시스템에서 4, | ||
| - | [[cubloc: | + | [[cubloc: |
