假设我有两个整数x和y,并且我想要检查它们的和是否大于UINT_MAX。
#define UINT64T_MAX std::numeric_limits<uint64_t>::max()
uint64_t x = foo();
uint64_t y = foo();
bool carry = UINT64T_MAX - x < y;
这段代码可以工作,但我想知道是否有更有效的方法来完成它 - 可能使用一些CPU具有但鲜为人知的功能。