Sunday, April 22, 2007
PHP 예제] 16진수 (헥사;Hex), 10진수 (Dec) 상호 변환; base_convert
PHP에서는 10진수와 16진수 상호 변환에, sprintf / dechex / hexdec / base_convert 등의 여러 함수들을 사용할 수 있습니다.
sprintf 함수가 가장 유연합니다. 다만 16진수 문자열을 10진수로 변환하려면 다른 함수를 사용해야 합니다. 다음 예제와 같습니다:
소스 파일명: example.php
▶▶ PHP 예제 소스] 10진수를 16진수 헥사로 출력; Print Hex
▶▶ PHP 예제 소스] 2진수, 10진수 상호 변환; decbin, bindec
sprintf 함수가 가장 유연합니다. 다만 16진수 문자열을 10진수로 변환하려면 다른 함수를 사용해야 합니다. 다음 예제와 같습니다:
십진수 십육진수 진법 변환 함수
소스 파일명: example.php
<html>
<head>
<title>PHP Example</title>
</head>
<body>
<?php
//////////////////////////////////////
// 10진수 숫자 -> 16진수 문자열로 변환
//
$num = 15; // 십진수 15 를 대입. 십육진수로는 F
// 10진수 15를 16진수 0F 로 변환하여
// 변수 $s 에 저장
$s = sprintf("%02X", $num);
echo $s, "<br />\n"; // 변수 $s의 내용 출력
// 출력 결과: 0F
/////////////////////////////////////////
// 16진수 상수 -> 10진수 숫자로 변환 출력
//
$hex = 0x0F;
$s = sprintf("%d", $hex);
echo $s, "<br />\n";
// 출력 결과: 15
/////////////////////////////////////////
// 10진수 숫자 -> 16진수 문자열로 변환 출력
//
echo dechex(15), "<br />\n";
// 출력 결과: f
// 이것은 앞에 0을 붙일 수 없어서 쓰기 곤란하더군요
/////////////////////////////////////////
// 16진수 문자열 -> 10진수 숫자 변환 출력
//
echo hexdec("f"), "<br />\n";
// 출력 결과:
// 15
/////////////////////////////////////////
// 16진수 문자열 -> 10진수 숫자 변환 출력
//
// base_convert("어떤숫자의문자열형식", 현재진법, 변환할진법)
//
// 다음은, 16진수 문자열인 "f"를, 10진수로 변환 예제
echo base_convert("f", 16, 10), "<br />\n";
// 출력 결과: 15
?>
</body>
</html>
<head>
<title>PHP Example</title>
</head>
<body>
<?php
//////////////////////////////////////
// 10진수 숫자 -> 16진수 문자열로 변환
//
$num = 15; // 십진수 15 를 대입. 십육진수로는 F
// 10진수 15를 16진수 0F 로 변환하여
// 변수 $s 에 저장
$s = sprintf("%02X", $num);
echo $s, "<br />\n"; // 변수 $s의 내용 출력
// 출력 결과: 0F
/////////////////////////////////////////
// 16진수 상수 -> 10진수 숫자로 변환 출력
//
$hex = 0x0F;
$s = sprintf("%d", $hex);
echo $s, "<br />\n";
// 출력 결과: 15
/////////////////////////////////////////
// 10진수 숫자 -> 16진수 문자열로 변환 출력
//
echo dechex(15), "<br />\n";
// 출력 결과: f
// 이것은 앞에 0을 붙일 수 없어서 쓰기 곤란하더군요
/////////////////////////////////////////
// 16진수 문자열 -> 10진수 숫자 변환 출력
//
echo hexdec("f"), "<br />\n";
// 출력 결과:
// 15
/////////////////////////////////////////
// 16진수 문자열 -> 10진수 숫자 변환 출력
//
// base_convert("어떤숫자의문자열형식", 현재진법, 변환할진법)
//
// 다음은, 16진수 문자열인 "f"를, 10진수로 변환 예제
echo base_convert("f", 16, 10), "<br />\n";
// 출력 결과: 15
?>
</body>
</html>
▶▶ PHP 예제 소스] 10진수를 16진수 헥사로 출력; Print Hex
▶▶ PHP 예제 소스] 2진수, 10진수 상호 변환; decbin, bindec
tag: php
PHP
<< Home