PHP의 base_convert() 함수는 숫자를 한 진법에서 다른 진법으로 변환해 주는 내장 함수입니다. 예를 들어 8진수를 10진수로 바꾸거나, 2진수를 16진수로 바꾸는 작업을 아주 간단하게 처리할 수 있습니다.
단, 이때 사용할 수 있는 진법은 2부터 36 사이로 제한됩니다. 또한 10보다 큰 진법에서 10 이상의 자릿수는 알파벳 소문자 a~z로 표현됩니다. 즉, a는 10, d는 13, z는 35를 의미합니다.
문법(Syntax)
base_convert(num, original_base, to_base)
매개변수(Parameters)
num − 변환하려는 대상 숫자입니다.
original_base − 원래 숫자의 진법입니다. 2~36 사이의 값이어야 하며, 10보다 큰 자릿수는 a~z 문자로 표현됩니다(a=10, d=13, z=35 등).
to_base − 변환할 목표 진법입니다. 마찬가지로 2~36 사이의 값이어야 합니다.
반환값(Return)
base_convert() 함수는 지정한 진법으로 변환된 숫자를 문자열(string) 형태로 반환합니다.
예제 1: 8진수 → 10진수 변환
<?php $res = "0040"; echo base_convert($res, 8, 10); ?>
출력 결과
32
예제 2: 16진수 → 8진수 변환
<?php $res = "D365"; echo base_convert($res, 16, 8); ?>
출력 결과
151545
예제 3: 2진수 → 16진수 변환
<?php $res = "101101"; echo base_convert($res, 2, 16); ?>
출력 결과
2d
정리
base_convert() 함수는 2진수, 8진수, 16진수 등 다양한 진법 간 변환을 손쉽게 처리할 수 있는 유용한 PHP 함수입니다. 사용 시에는 진법 범위가 2~36으로 제한된다는 점, 그리고 반환값이 항상 문자열이라는 점만 기억하면 됩니다.