gpt4 book ai didi

c++ - 在 C++/C 中获取错误的绝对值

转载 作者:太空宇宙 更新时间:2023-11-03 10:46:37 27 4
gpt4 key购买 nike

我试图通过以下方法在 C++ 中找到绝对值:

#include <cmath>
unsigned value1=4;
unsigned value2=10;

unsigned absoluteValue=abs(value1-value2);
int absValue=abs(value1-value2);

Answer: absoluteValue=4294967294
absValue=-2147483648

Desired Answer=6

我得到的 absoluteValue 值是 4294967294...这是错误的。 int 的答案也是错误的。我需要在代码中多次计算绝对值。有没有更有效的方法来实现这一点?

是否有一种有效的方法来查找整数的绝对值?

最佳答案

像这样减去 unsigned 值,它可能会换行。

如果你想得到一个unsigned的绝对值,做这样的事情:

unsigned absoluteValue = (value1>value2)?(value1-value2):(value2-value1);undeflow

关于c++ - 在 C++/C 中获取错误的绝对值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20031658/

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