//获得hash表的hash值
unsigned short GetHashValue(unsigned int *grid)
{
unsigned int mask1 = 524287; //19个1
unsigned int mask2 = 8191; //13个1
unsigned short len = 65535;
unsigned int result =0;
result += ((grid[0] & (mask1<<13))>>13)|((grid[0] & mask2)<<19);
result ^= grid[1];
result += ((grid[2] & (mask1<<13))>>13)|((grid[2] & mask2)<<19);
result ^= grid[3];
result ^= ((grid[4] & (mask1<<13))>>13)|((grid[4] & mask2)<<19);
result += grid[5];