PHP取进制余数函数代码
2015-01-24信息快讯网
我想知道21712341byte在K位上是多少,M位上、G位呢?这相当于进制转换的问题。只不过现在要转换的进制是1024
//取进制位上的数值 function getRemainder($num, $bin, $pos, &$result = 0){ //author lianq.net //$num 数值,十进制 //$bin 要转换的进制 //$pos 位数 $real_len = log($num, $bin);//对数,求原值长度 $floor_len = floor($real_len);//舍去求整 $base = pow($bin, $pos-1);//基数 $divisor = pow($bin,$pos);//除数 if($num >= $divisor){ $new_num = $num % pow($bin, $floor_len); getRemainder($new_num, $bin, $pos, $result); }else{ $result = floor($num / $base); } return $result; } //比如,数值16转换为9进制时,它的第一位上的数值是多少? $a = getRemainder(16,9, 1); echo $a;//输出7