【发布时间】:2023-03-19 20:04:02
【问题描述】:
假设 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 特定的解决方案,但我也愿意接受一般情况下可行的解决方案。
【问题讨论】:
标签: bit-manipulation hlsl carryflag