如何为整数分配一个字母?

时间:2015-11-03 10:56:52

标签: php

我被赋予了将十进制转换为二进制和十六进制的任务。二进制文件工作正常,但我在使用十六进制转换器将数字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()等,但这是我的功课。

2 个答案:

答案 0 :(得分:1)

通常,有很多方法可以做到这一点。我认为最干净的一个是使用数组

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

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

答案 1 :(得分:0)

这将是你的功能:

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