진수 변환기
2진수, 8진수, 10진수, 16진수 등 다양한 진수 간 변환을 수행합니다.
숫자(10) → 2진수 (Binary)
사용 가능한 문자
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
0-9, A-Z (A=10, B=11, ..., Z=35)
2진수 (Binary)
사용 문자: 0, 1
컴퓨터의 기본 언어
예: 1010₂ = 10₁₀
8진수 (Octal)
사용 문자: 0-7
Unix 권한 설정에 사용
예: 12₈ = 10₁₀
10진수 (Decimal)
사용 문자: 0-9
일상생활에서 사용
예: 10₁₀
16진수 (Hexadecimal)
사용 문자: 0-9, A-F
색상 코드, 메모리 주소
예: A₁₆ = 10₁₀
변환 방법
다른 진수 → 10진수: 각 자릿수에 해당 진수의 거듭제곱을 곱해서 합산
10진수 → 다른 진수: 목표 진수로 나누면서 나머지를 역순으로 배열
진법의 역사적 발전
진법은 인류 문명과 함께 발전해왔습니다. 고대 바빌로니아의 60진법, 마야 문명의 20진법, 그리고 현재 우리가 사용하는 10진법까지, 각 문명은 자신들의 필요에 맞는 수 체계를 개발했습니다.
고대 문명의 진법
- • 바빌로니아 60진법: 시간, 각도 측정의 기원
- • 이집트 10진법: 상형문자 기반 수 체계
- • 마야 20진법: 손가락과 발가락 기반
- • 로마 숫자: 가산법 기반의 표기법
현대 진법의 활용
- • 10진법: 일상생활의 표준
- • 2진법: 컴퓨터의 기본 언어
- • 16진법: 프로그래밍과 메모리 주소
- • 8진법: 유닉스 권한 시스템
컴퓨터 과학에서의 진법
2진법 (Binary)
원리: 0과 1만 사용
활용: CPU, 메모리, 논리 회로
장점: 전기 신호로 구현 용이
예시: 1010₂ = 10₁₀
응용: 디지털 통신, 데이터 저장
16진법 (Hexadecimal)
원리: 0-9, A-F 사용
활용: 메모리 주소, 색상 코드
장점: 2진법의 간결한 표현
예시: FF₁₆ = 255₁₀
응용: 웹 개발, 시스템 프로그래밍
8진법 (Octal)
원리: 0-7 사용
활용: 유닉스 파일 권한
장점: 3비트씩 그룹화 가능
예시: 755₈ = 493₁₀
응용: 시스템 관리, 보안 설정
프로그래밍에서의 진법 활용
실제 사용 예시
색상 코드: #FF0000 (빨간색)
메모리 주소: 0x7FFF5FBFF5B0
파일 권한: chmod 755 (rwxr-xr-x)
비트 연산: 0b1010 & 0b1100
네트워크: IP 주소의 서브넷 마스크
디버깅과 최적화
메모리 덤프: 16진법으로 메모리 내용 확인
비트 플래그: 2진법으로 상태 관리
해시 값: 16진법으로 체크섬 표현
암호화: 바이트 단위 16진법 처리
압축: 비트 단위 데이터 조작
진법 변환의 수학적 원리
위치 기수법 (Positional Notation)
각 자릿수의 값은 기수의 거듭제곱으로 결정됩니다.
1010₂ = 1×2³ + 0×2² + 1×2¹ + 0×2⁰ = 10₁₀
변환 알고리즘
10진수 → n진수
- 1. 10진수를 n으로 나눔
- 2. 나머지를 기록
- 3. 몫이 0이 될 때까지 반복
- 4. 나머지를 역순으로 배열
n진수 → 10진수
- 1. 각 자릿수에 기수의 거듭제곱 곱함
- 2. 모든 값을 합산
- 3. 결과가 10진수 값
실무에서의 진법 활용
웹 개발
- • CSS 색상 코드 (#RGB, #RRGGBB)
- • URL 인코딩 (%20, %3A 등)
- • Base64 인코딩 (이메일, 이미지)
- • 유니코드 문자 코드 (U+0041)
시스템 관리
- • 파일 권한 설정 (chmod 755)
- • 네트워크 설정 (서브넷 마스크)
- • 메모리 주소 분석
- • 로그 파일 분석
💻 실무 활용 팁
• 개발자 도구: 브라우저 개발자 도구에서 16진법 색상 코드를 직접 확인할 수 있습니다.
• 계산기 활용: 프로그래머용 계산기를 사용하면 진법 변환을 쉽게 할 수 있습니다.
• 비트 연산: 2진법을 이해하면 비트 연산자(&, |, ^, ~)를 효과적으로 사용할 수 있습니다.
• 메모리 최적화: 진법을 이해하면 메모리 사용량을 최적화하는 데 도움이 됩니다.