按以下公式转换:

ParameterInteger = (value << 1) ^ (value >> 31)

参数值不支持大于pow(2,31) - 1或-1 * (pow(2,31) - 1)的数值。

以下的公式用来将ParameterInteger解码为实际值:

value = ((ParameterInteger >> 1) ^ (-(ParameterInteger & 1)))


将整数hash成递增的32位bit流,其hash函数为h(n) = (n << 1) ^ (n >> 31)

对应地long类型(64位)的hash函数为(n << 1) ^ (n >> 63)

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-08-29
  • 2022-01-08
  • 2021-08-23
  • 2022-02-24
  • 2022-12-23
猜你喜欢
  • 2021-11-29
  • 2022-12-23
  • 2022-01-18
  • 2021-10-22
  • 2021-10-24
  • 2021-06-09
相关资源
相似解决方案