Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP base_convert() 함수 완벽 정리 – 진법 변환 방법과 예제

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으로 제한된다는 점, 그리고 반환값이 항상 문자열이라는 점만 기억하면 됩니다.