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