用php实现java的String的hashCode方法

来源:互联网 发布:ncpc nc.js 编辑:程序博客网 时间:2024/04/25 20:18
function intval32($num) {        $num = $num & 0xffffffff;//消掉高32位        $p = $num>>31; //取第一位 判断是正数还是负数        if($p==1) { //负数            $num = $num-1;            $num = ~$num; //取反 会当成64位取反,算出来的数就去了,所以取反之后 要消掉 高32位            $num = $num & 0xffffffff;            return $num * -1;        } else {            return $num;        }    }function get_string_hash_code($str) {        $h = 0;        $off = 0;        $len = strlen($str);        for ($i = 0; $i < $len; $i++) {            $h = intval32(intval32(31 * $h) + ord($str[$off++]));        }        return $h;    }
0 0
原创粉丝点击