2011-04-10 47 views
0

我使用SSE2將16 + 16位的元組排序爲32位整數。只有用於比較和最小/最大的有符號整數指令。我對高階部分的訂單沒有問題,因爲它只是一個散列。但隨着負哈希條目將被向後排序(是嗎?)可能的,但不是很大的解決方案可能是:在有符號整數中對元組進行排序

  • 零哈希值的較高位,失去精度(不是很大)
  • 轉換位置負,如果哈希的高位被設置,並在排序後將其轉換回來。

有沒有更好的方法?

回答

1

只需從32位值中減去0x80000000,使用帶符號的操作,然後再加回0x80000000。