美文网首页
进制转化的思路

进制转化的思路

作者: smallThree1 | 来源:发表于2018-05-15 11:10 被阅读17次

低进制转化为高进制的思路:

将低进制针对高进制求商取余,重复操作直到商为0.

如下将10进制转化为16进制(6666转化为16进制):

6666除以16,余数为10(A),商为416,

416除以16,余数0(0),商为26,

26除以16,余数为10(A),商为1,

1除以16,余数为1,商为0,结束。

所以6666的16进制为1A0A

使用PHP代码实现如下:

function test($n,$f=16){

    $r = "0123456789AFCDEF";

    $t = [];

    do{       

         $a = $n%$f;

        $n = floor($n/$f);

        $t[] = $a;

    }while($n!=0);

    $len = count($t);

    $target = '';

    for($i=$len-1;$i>=0;$i--){        

    $target .= $r[$t[$i]];

    }   

     return $target;

}

相关文章

网友评论

      本文标题:进制转化的思路

      本文链接:https://www.haomeiwen.com/subject/kbredftx.html