假设 A 和 B 是我的低 32 位整数,而 T 是一个 32 位整数,我想表示将 A 和 B 相加的进位。我将一些快速逻辑放在一起得到 T:
T = (A >> 1) + (B >> 1);
T += A & B & 1;
T >>= 31;
它有效,但我不喜欢执行此操作所需的操作数量(3 次右移,2 次加法,2 次加法)。我真的很感谢一些有趣的专家就如何使这个更清洁/更高效的意见。谢谢!
对于我目前的问题,我仅限于在 HLSL 中可以做的事情。我不介意 SM4 和 SM5 特定的解决方案,但我也愿意接受一般可以工作的东西。