在有符号整数中对元组进行排序

在有符号整数中对元组进行排序

问题描述:

我使用SSE2将16 + 16位的元组排序为32位整数。只有用于比较和最小/最大的有符号整数指令。我对高阶部分的订单没有问题,因为它只是一个散列。但随着负哈希条目将被向后排序(是吗?)可能的,但不是很大的解决方案可能是:在有符号整数中对元组进行排序

  • 零哈希值的较高位,失去精度(不是很大)
  • 转换位置负,如果哈希的高位被设置,并在排序后将其转换回来。

有没有更好的方法?

只需从32位值中减去0x80000000,使用带符号的操作,然后再加回0x80000000。