龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

PHP取进制余数

时间:2014-07-22 14:51来源: 作者: 点击:
分享到:
我想知道21712341byte在K位上是多少,M位上、G位呢?这相当于进制转换的问题。只不过现在要转换的进制是1024.
我想知道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
精彩图集

赞助商链接