欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP取进制余数

程序员文章站 2022-05-24 12:26:07
...
我想知道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
复制代码
相关标签: PHP取进制余数