정의 및 사용법
PHP의 dechex() 함수는 주어진 10진수(decimal) 인자에 해당하는 16진수(hexadecimal) 표현을 문자열 형태로 반환합니다. 이 함수는 숫자가 아닌 문자열 타입으로 결과를 돌려준다는 점에 유의하세요.
구문
dechex ( int $number ) : string
매개변수
| 번호 | 매개변수 및 설명 |
|---|---|
| 1 | number 16진수 표현으로 변환할 10진수 값입니다. |
반환 값
PHP dechex() 함수는 변환된 16진수 값을 문자열로 반환합니다.
지원 PHP 버전
이 함수는 PHP 4.x, PHP 5.x, PHP 7.x 등 대부분의 버전에서 사용할 수 있습니다.
예제 1: 기본적인 변환
다음 예제는 10진수 1001을 16진수로 변환하여 '3e9'를 반환합니다.
<?php
$arg = 1001;
$val = dechex($arg);
echo "dechex(" . $arg . ") = " . $val;
?>
출력 결과
dechex(1001) = 3e9
예제 2: 소수점 처리
인자로 소수가 전달되면 소수점 이하 부분은 무시됩니다. 예를 들어 100.55는 100으로 취급되며, 100의 16진수 값인 '64'가 반환됩니다.
<?php
$arg = 100.55;
$val = dechex($arg);
echo "dechex(" . $arg . ") = " . $val;
?>
출력 결과
dechex(100.55) = 64
예제 3: 문자열 입력 시 동작
숫자가 아닌 문자열을 인자로 전달하면 결과는 항상 0입니다.
<?php
$arg = "Hello";
$val = dechex($arg);
echo "dechex(" . $arg . ") = " . $val;
?>
출력 결과
dechex(Hello) = 0
예제 4: 음수 변환
음수 10진수가 입력되면 64비트 기준 2의 보수(two's complement) 방식으로 변환됩니다. 다음 예제는 -10의 16진수 값을 계산합니다.
<?php
$arg = '-10';
$val = dechex($arg);
echo "dechex(" . $arg . ") = " . $val;
?>
출력 결과
dechex(-10) = fffffffffffffff6
마무리
dechex() 함수는 10진수를 16진수로 손쉽게 변환할 수 있는 유용한 내장 함수입니다. 반대로 16진수를 10진수로 변환하려면 hexdec() 함수를 사용하면 됩니다. 소수는 정수부만 처리되고, 음수는 2의 보수 방식으로 변환된다는 점을 기억해 두면 실무에서 유용하게 활용할 수 있습니다.