10진수 체계
2진수 체계를 이해하려면 먼저 10진수 체계를 살펴볼 필요가 있다.
10진수 체계에서는 숫자 215를 개별 구성 부분으로 세분화할 수 있습니다.
즉, 2는 100자리, 1은 10자리, 5는 1자리를 나타냅니다.
실제로 215는 200+10+5과 같은 형식으로 써야 합니다.
10의 거듭제곱을 사용하여 아래와 같이 200+10+5 형식으로 표현하면 각 자릿수마다 10의 거듭제곱이 지정된다는것이 확인된다.
2진수 체계
2진수 체계는 숫자 0과 1만 인식합니다. 0과 1은 데이터 처리 기술에서는 간단하게 표현하고 계산할 수 있는 숫자 체계입니다. 즉, 2개의 숫자만 사용하기 때문에 2진수 체계라고 합니다.
아래와 같이 각 자릿수마다 2의 거듭제곱이 지정된다.
BCD 코드 (8-4-2-1 코드)
큰 숫자 값을 명확히 정렬하기 위해 BCD코드(이진화10진수)가 많이 사용됩니다.
BCD코드는 2진수 체계를 사용하여 10진수를 표시하는 것입니다.
이 경우 10진수가 가질 수 있는 최대값은 9입니다. 숫자9를 표시하려면 2의 거듭제곱이 최대 2^3까지 필요합니다.
즉, 숫자 9는 총 4자리로 표시됩니다.
가장 큰 10진수인 숫자 9를 2진수로 표시하는데 4개 자리가 필요하기 때문에 니블(nibble)이라 불리는 4자리 단위가 각 10진수에 제공 됩니다.
따라서 BCD코드는 4비트 코드가 됩니다.
10진수의 각 자릿수는 개별적으로 4비트 코드로 바뀝니다. 예를 들어 숫자 285인 경우 3자리 10진수로 구성됩니다. BCD코드에서 10진수의 각 자릿수에 해당하는 수는 4자리 단위(니블)로 표시됩니다.
10진수의 각 자릿수는 BCD코드로 표시됩니다.
16진수 체계
16진수 체계도 숫자 표시 비중 체계에 해당합니다.
각 자리마다 숫자값으로 16의 거듭제곱이 사용됩니다. 즉, 16진수 체계란 각 자릿수에 해당하는 16의 거듭제곱으로 수를 표시하는 체계입니다. 16진수의 각 자리에 16의 거듭제곱이 지정됩니다. 따라서 0을 포함한 16개의 숫자가 필요합니다.
숫자0에서 9까지는 10진수를 사용하고, 숫자10에서 15까지는 글자 A,B,C,D,E,F 를 사용합니다.
16진수의 각 숫자에 16의 거듭제곱이 지정됩니다.
진수 변환 규칙
서로다른 숫자 체계 간의 변환은 간단한 규칙에 기초합니다.
PLC로 작업 시 변환이 흔히 사용되기 때문에 PLC사용자는 변환 규칙을 숙지해야 합니다.
주어진 숫자가 어떤 숫자 체계에 기초한 것인지 표시하기 위해 숫자 오른쪽에 인덱스를 붙입니다.
#인덱스: 목록,제목,조항 등을 차례대로 써서 찾아보기 쉽게 해놓은 것
'D'는 10진수(or K), 'B'는 2진수, 'H'는 16진수 체계를 의미합니다.
이런 표시가 필요한 경우가 자주 발생하는데, 숫자 체계에 따라 같은 숫자 배열도 전혀 다른 값이 될 수 있기 때문
예를 들어 111은 10진수 체계에서 값 111D 입니다.
2진수 체계인 경우 111B는 10진수값 7(1x2^0 + 1x2^1 + 1x2^2)
16진수 체계인 경우 111H는 10진수값 (1x16^0 + 1x16^1 + 1x16^2)에 해당 합니다.
10진수 > 2진수로 변환
10진수를 결과값이 0이 될 때까지 기수 2로 나눕니다.
2로 나눌 때마다 생기는 나머지 (0 또는 1)를 나란히 배열하면 2진수가 됩니다. 이 때 발생하는 '나머지'를 순서대로 배열해야 합니다. 첫번째 나누기의 나머지가 오른쪽 끝에 위치하는 첫 번째 비트(Low bit)가 됩니다.
10진수 > 16진수로 변환
10진수>2진수로 변환하는 방법과 동일합니다. 단 이 경우 2가 아닌 16을 기수로 사용합니다. 다시 말해 2가 아닌 16으로 10진수를 나누어야 합니다.
2진수 > 16진수로 변환
2진수를 16진수로 변환하려면 먼저 해당 2진수의 10진수 값을 알아야 합니다. 그런 다음 이 10진수를 16으로 나누어 16진수 값으로 변환할 수 있습니다.
물론 2진수에서 직접 해당 16진수 값을 도출할 수도 있습니다. 이를 위해 먼저 2진수를 오른쪽 끝에서 시작하여 4개씩 그룹으로 나눕니다. 확정된 4개의 숫자로 이루어진 그룹 각각이 16진수 체계에 따른 숫자가 됩니다.
'PLC' 카테고리의 다른 글
[INDEX] 인덱스란? (0) | 2019.12.23 |
---|---|
[03] PLC 기초 - 디바이스 메모리구조 (0) | 2019.12.23 |
자료형이란? (0) | 2019.12.20 |
변수 (0) | 2019.12.20 |
[01] PLC 기초 (0) | 2019.12.20 |