【发布时间】:2011-04-10 23:13:17
【问题描述】:
我正在使用 SSE2 将 16+16 位元组排序为 32 位整数。比较和最小值/最大值只有带符号的整数指令。我对较高部分的顺序没有问题,因为它只是一个哈希。但是带有负哈希的条目将被向后排序(对吗?)可能但不是很好的解决方案可能是:
- 将哈希的较高位归零,从而降低精度(不是很好)
- 如果设置了哈希的高位,则将位置转换为负数,并在排序后将其转换回来。
有没有更好的办法?
【问题讨论】:
我正在使用 SSE2 将 16+16 位元组排序为 32 位整数。比较和最小值/最大值只有带符号的整数指令。我对较高部分的顺序没有问题,因为它只是一个哈希。但是带有负哈希的条目将被向后排序(对吗?)可能但不是很好的解决方案可能是:
有没有更好的办法?
【问题讨论】:
只需从您的 32 位值中减去 0x80000000,使用有符号运算,然后再添加回 0x80000000。
【讨论】: