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

进制转化的思路

作者: 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