gpt4 book ai didi

C++ : subtracting unsigned values is unsigned

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:14:06 29 4
gpt4 key购买 nike

<分区>

在 C++ 中,编译器提醒我减去无符号值是无符号的,因此调用 abs() 是没有意义的:

uint64_t a, b;
if (std::abs(a - b) > 10) {
std::cout << "Divergence achieved!" << std::endl;
}

好的,我知道减法就是加法,而且我知道在我的实例中数字将小于 2^63,所以我将 static_cast 转换为 int64_t。但是调用 abs 的目的是为了避免写

if (a - b > 10 || b - a > 10) {
std::cout << "Divergence achieved!" << std::endl;
}

有没有更惯用的方法来做到这一点?

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com