PHP取进制余数

WBOY
WBOYasal
2016-07-25 09:08:21973semak imbas
我想知道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
复制代码


Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:wordpress中让主题支持菜单导航 Artikel seterusnya:统计重复的值