c++:
http://stackoverflow.com/a/13389744
“
Here's a baseline hash function:
unsigned long long h = (n << 24) | (a << 16) | (b << 8) | c;
return std::hash(h);
I.e., just pack the members into an unsigned long long
, then offload the work to std::hash
. In the common case that int
is 32 bits wide and long long
is 64 bits, and assuming your chars are not negative, this uses all the information in your objects for the hash.
“
http://stackoverflow.com/a/1820504
unsigned int hash = in[0];
hash *= 37;
hash += in[1];
hash *= 37;
hash += in[2];
hash *= 37;
hash += in[3];
java:
http://stackoverflow.com/a/5730232
“
public int hashCode()
{
int result = (int) (x ^ (x >>> 32));
result = 31 * result + (int) (y ^ (y >>> 32));
result = 31 * result + (int) (z ^ (z >>> 32));
return result;
}
“
http://stackoverflow.com/a/5730337
(int)(x ^ (x >> 32) ^ y ^ (y >> 32) ^ z ^ (z >> 32));
No comments:
Post a Comment