1. 진법이란?
진법이란 숫자를 표현하는 방식의 기준입니다.
각 진법은 특정한 기수(base)를 사용합니다.
기수는 진법에서 사용할 수 있는 가장 큰 수보다 하나 더 큰 값입니다.
ex) 10진법은 기수가 10이고, 0부터 9까지의 숫자를 사용합니다.
2. 주요 진법
● 2진법(binary system)
0과 1 두 가지 숫자만을 사용하여 모든 값을 표현합니다.
컴퓨터에서는 전기적 신호의 ON(True)/OFF(False)를 1/0으로 표현합니다.
이러한 0과1을 bit라고 하고 이것이 모여서 데이터가 됩니다.
2진수를 표현할 때는 보통 0b 접두어를 붙입니다.
2진수를 기반으로 컴퓨터 시스템이 운영될 때, 오류를 최소화할 수 있고 효율적 시스템 구축이 가능합니다.
● 8진법 (Octal system)
0~7까지의 숫자를 사용하여 값을 표현합니다.
접두어는 0o를 사용합니다.
리눅스나 FTP에서 파일 및 폴더 권한을 표현하기 위해서 많이 사용됩니다.
● 10진법 (Decimal system)
일상생활에서 가장 많이 사용하는 진법입니다.
0~9까지의 숫자를 사용합니다.
● 16진법 (Hexadecimal system)
0~9 , A~F 까지의 숫자와 영문자를 사용하여 0~15까지의 값을 표현합니다.
메모리 주소 등을 표현하는데 자주 사용됩니다.
접두어는 0x 를 붙입니다.
16진법을 사용하는 이유는 2진법으로 했을 때 보다 16진법으로 표현하면 자릿수를 덜 차지하므로 효율이 좋습니다.
3. 진법 변환
긱 진법 변환은 10 -> n 진법 또는 n ->10 진법으로 변경한 후 다른 진법으로 변환이 가능합니다.
즉, 3 진법을 9진법으로 표현하려면 3 -> 10 -> 9의 형태로 바꿔서 변환이 가능합니다.
단, 4진수, 8진수, 16진수 간의 변환은 중간 단계인 2진수를 통해 이루어집니다.
● 10진법에서 n진법으로 변환하는 방법
1. 10진법 수를 n으로 나누고 나머지를 기록하는 과정을 반복
2. 나눗셈의 결과가 0이 될 때까지 반복
3. 마지막에 기록된 나머지들을 역순으로 배열하면 됩니다.
ex) 10진수 256을 2진수로 바꾸는 법 (1 0000 0000)
ex) 10진수 451을 16진수로 바꾸는 법(1C3)
● n진법에서 10진법으로 변환하는 방법
각 자리의 숫자에 n의 거듭제곱을 곱하고, 그 결과들을 모두 더합니다.
가장 오른쪽 부터 시작합니다.
ex) 2진법 1001 0110을 10진법으로 변환하는 방법
ex) 16진법 A5F7 을 10진법으로 변환하는 방법
● 2진수, 4진수, 8진수, 16진수 간의 변환
위의 진수들의 변환은 서로 직접적인 관계를 가지고 있기 때문에 상대적으로 간단하게 이루어집니다.
ex) 2진수 ↔ 4진수 변환
ex) 2진수 ↔ 8진수 변환
ex) 2진수 ↔ 16진수 변환
출처
https://all-young.tistory.com/6
https://hymndev.tistory.com/17
'knowledge > 기타 지식' 카테고리의 다른 글
논리 연산, 비트 연산 (0) | 2024.04.02 |
---|---|
bit, byte, Byte ordering (0) | 2024.04.02 |
컴퓨터 과학(Computer Science)이란? (0) | 2024.04.01 |
워게임이란? (0) | 2024.04.01 |
화이트햇 스쿨 (0) | 2024.02.20 |