如何将字母分配给整数


How do I assign a letter to an integer?

我的任务是将十进制转换为二进制和十六进制。二进制可以很好地工作,但我在用十六进制转换器将数字10-15分配给A-F时遇到了麻烦。

到目前为止,这是我的PHP函数:

function dez2hex2($zahl){
$erg2 = "";
$rest = "";
while ($zahl > 0) {
    $rest = $zahl % 16;
    $zahl = (int) ($zahl / 16);
    $erg2 = $rest . $erg2;
}
    echo '<br>'.$erg2;
}

注意:我试着用变量来做,但我不能让它工作,我知道有dechex()等,但这是我的家庭作业。

通常有很多方法可以做到这一点。我认为最干净的方法之一是使用阵列

$hex = array(0,1,2,3,4,5,6,7,8,9,'A','B','C','D','E','F');

现在,当您计算数字时,只需使用$hex[ $number ]即可获得正确的十六进制对应关系。

这将是您的函数:

function dez2hex2($zahl){
    $hexarr = array(0,1,2,3,4,5,6,7,8,9,'a','b','c','d','e','f');
    $erg2 = "";
    $rest = "";
    while ($zahl > 0) {
        $rest = $zahl % 16;
        $zahl = (int) ($zahl / 16);
        $erg2 = $hexarr[$rest] . $erg2;
    }
    echo '<br>'.$erg2;
}

dez2hex2(2030); //output 7ee
echo dechex(2030); //ouput 7ee