1. 진수 개념 (Number System)
진수는 수를 표현하는 방식으로, 기본적으로 숫자의 집합과 자리값 시스템을 이용하여 숫자를 나타냅니다. 주로 사용하는 진수에는 아래와 같은 것들이 있습니다:
- 이진수 (Binary, 2진수): 0과 1 두 가지 숫자만을 사용하며, 컴퓨터 내부에서 데이터를 표현하는 기본 단위입니다.
- 십진수 (Decimal, 10진수): 일상에서 가장 많이 사용되는 숫자 체계로, 0에서 9까지의 숫자를 사용합니다.
- 팔진수 (Octal, 8진수): 0에서 7까지의 숫자를 사용하는 진수 체계입니다. 컴퓨터 프로그래밍에서 종종 사용됩니다.
- 십육진수 (Hexadecimal, 16진수): 0에서 9까지와 A(10), B(11), C(12), D(13), E(14), F(15)까지 사용하여 숫자를 표현하는 체계입니다. 컴퓨터 과학에서 메모리 주소 등을 표현할 때 많이 사용됩니다.
2. 진수 변환
진수 간의 변환은 컴퓨터 과학에서 매우 중요한 개념입니다. 자주 사용하는 변환 방법을 설명드리겠습니다.
(1) 이진수 ↔ 십진수
- 이진수 → 십진수: 이진수 각 자리에 2의 제곱수를 곱한 후 모두 더합니다.
- 예시: 이진수
1011
은 1×2³ + 0×2² + 1×2¹ + 1×2⁰ = 11(십진수)
- 십진수 → 이진수: 주어진 십진수를 2로 나누고, 나머지를 기록한 뒤 몫이 0이 될 때까지 나눕니다. 그 나머지를 역순으로 나열하면 이진수가 됩니다.
- 예시: 십진수
13
을 이진수로 변환하면 1101
(2) 이진수 ↔ 십육진수
- 이진수 → 십육진수: 이진수를 4자리씩 끊어 십육진수로 변환합니다.
- 예시:
1010 1101(2진수)
→ AD(16진수)
- 십육진수 → 이진수: 십육진수 각 자릿수를 이진수 4자리로 변환합니다.
- 예시:
2A(16진수)
→ 0010 1010(2진수)
(3) 십진수 ↔ 십육진수
- 십진수 → 십육진수: 십진수를 16으로 나누고, 나머지를 기록한 뒤 몫이 0이 될 때까지 나눕니다.
- 십육진수 → 십진수: 각 자리에 16의 제곱수를 곱한 후 더합니다.
- 예시:
1A(16진수)
는 1×16¹ + 10×16⁰ = 26(십진수)
ASCII 코드는 문자와 숫자를 컴퓨터가 이해할 수 있도록 7비트의 숫자로 매핑한 표준 코드입니다. 총 128개의 문자를 표현할 수 있으며, 일반적으로 사용되는 문자, 숫자, 기호들이 포함되어 있습니다.
ASCII 코드의 주요 값들:
- 숫자: '0' = 48, '1' = 49 ... '9' = 57
- 대문자: 'A' = 65, 'B' = 66 ... 'Z' = 90
- 소문자: 'a' = 97, 'b' = 98 ... 'z' = 122
- 특수 문자: '@' = 64, '#' = 35, ' ' (space) = 32
이 코드는 컴퓨터 상에서 텍스트를 처리할 때 매우 유용하며, 다양한 프로그래밍 언어에서 사용됩니다.