[程式/筆記] 如何用遞迴方法將 10 進位轉 16 進位
目前許多程式語言都有內建函數,讓我們能輕鬆的從10進位轉為16進位、2進位或是8進位。今天來介紹如何利用遞迴方法來完成。剛開始寫這個的時候想說應該很簡單,但還是稍微想了一下流程圖才出來,在這邊分享給大家,至於16進位的邊就不多作介紹了,純粹分享程式碼,示範網頁在下方有連結。

為了方便效果呈現,我把它寫成PHP網頁的形式,不過原理大同小異。
#PHP
<?php
function Hex($a){
$e= (integer)($a/16);
$remainder = $a % 16;
if ($e == 0) {
if($a<16){
switch ($remainder) {
case '10':
$result = "A";
break;
case '11':
$result = "B";
break;
case '12':
$result = "C";
break;
case '13':
$result = "D";
break;
case '14':
$result = "E";
break;
case '15':
$result = "F";
break;
default:
$result = $remainder;
break;
}
return $result;
}
else return '';
}
else {
switch ($remainder) {
case '10':
$result = "A";
break;
case '11':
$result = "B";
break;
case '12':
$result = "C";
break;
case '13':
$result = "D";
break;
case '14':
$result = "E";
break;
case '15':
$result = "F";
break;
default:
$result = $remainder;
break;
}
return Hex($e).$result;
}
}
?>
Leave a Reply