私の宿題ではPHPを使って16進数を10進数に変換する必要がありますが(hexdec
は使用しません)、コードは正しく変換されません。例えば16進数から10進数に変換
私は機能HexToDez ("1F4");
を使用する場合、それが動作していないのはなぜ、答えは500ではなく、1
すべきですか?
コードここ
<?php
function Replace ($i)
{
switch (strToLower ($i))
{
case "a" : return 10;
case "b" : return 11;
case "c" : return 12;
case "d" : return 13;
case "e" : return 14;
case "f" : return 15;
default : return $i;
}
}
function HexToDez($i) # 1F4
{
$input=$i;
$num=strlen ($input) ;
$pos=0;
$output="";
$hochzahl="";
while($pos<$num)
{
$mid = substr ($input, $pos, 1);
$pos++;
return $end=Replace ($mid);
}
while ($end != 0){
$zahl = $input%10;
$output += $zahl*pow(16, $hochzahl);
$end = $end/10;
$hochzahl++;
}
echo $output;
}
?>
「どのように見えませんか? ork "?あなたの質問は何ですか? – arkascha
@arkascha関数HexToDez( "1F4")を使用すると、あなたは 'return $ end = Replace($ mid);'で答を返すので、回答は500ではなく1 –
でなければなりません。あなたは 'return'が何をしているのか見たいかもしれません。 – Federkun