当前位置:Gxlcms > PHP教程 > PHP取进制余数

PHP取进制余数

时间:2021-07-01 10:21:17 帮助过:14人阅读

我想知道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

人气教程排行