神奇的魔法数字0x61c88647

来源JDK源码,产生的数字分布很均匀

用法代码如下。

# -*- coding: utf-8 -*-
HASH_INCREMENT = 0x61c88647


def magic_hash(n):
    for i in range(n):
        nextHashCode = i * HASH_INCREMENT + HASH_INCREMENT
        print nextHashCode & (n-1)

magic_hash(16)

 

你可能感兴趣的:(神奇的魔法数字0x61c88647)