减去两个无符号整数并得到结果的绝对值

时间:2017-02-14 20:32:35

标签: c

我有两个无符号整数,a和b。现在我的目标是获得两者之间差异的绝对值。

目前我正在做的是:

uint64_t a, b;
llabs((int64_t)(a - b))

这个似乎可以工作,但是我不确定它是不是。任何人都可以确认吗?

1 个答案:

答案 0 :(得分:3)

嗯,对于某些价值观存在问题:I。e。如果a=0b大于int64_t+1的最大值,则会出现溢出。我不知道,你的现实世界价值观是否可以这样。

但是,您可以更轻松地使用它:

a>b?a-b:b-a