首页  >  文章  >  后端开发  >  PHP取进制余数

PHP取进制余数

WBOY
WBOY原创
2016-07-25 09:08:21942浏览
我想知道21712341byte在K位上是多少,M位上、G位呢?这相当于进制转换的问题。只不过现在要转换的进制是1024.                               
                   
                               
                                               
                                       
            
  1. //取进制位上的数值
  2. function getRemainder($num, $bin, $pos, &$result = 0){
  3. //author        lianq.net
  4. //$num        数值,十进制
  5. //$bin        要转换的进制
  6. //$pos        位数
  7.         $real_len        = log($num, $bin);//对数,求原值长度
  8.         $floor_len        = floor($real_len);//舍去求整
  9.         $base                = pow($bin, $pos-1);//基数
  10.         $divisor        = pow($bin,$pos);//除数
  11.         if($num >= $divisor){
  12.                 $new_num        = $num % pow($bin, $floor_len);
  13.                 getRemainder($new_num, $bin, $pos, $result);
  14.         }else{
  15.                 $result = floor($num / $base);
  16.         }
  17. return $result;
  18. }
  19. //比如,数值16转换为9进制时,它的第一位上的数值是多少?
  20. $a = getRemainder(16,9, 1);
  21. echo $a;//输出7
复制代码


声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn