新浪分表算法函数

/**
calc_hash_tbl 计算Hash子表编号
输入: $u ID号
       $n 子表数
输出: 两位十六进制子表编号
**/
function calc_hash_tbl($u, $n = 16)
{

    $h  = sprintf("%u", crc32($u));
    $h1 = intval($h / $n);

    $h2 = $h1 % $n;

    $h3 = base_convert($h2, 10, 16);

    $h4 = sprintf("%02s", $h3);

    return $h4;
}

你可能感兴趣的:(算法)