标签: c
我有两个无符号整数,a和b。现在我的目标是获得两者之间差异的绝对值。
目前我正在做的是:
uint64_t a, b; llabs((int64_t)(a - b))
这个似乎可以工作,但是我不确定它是不是。任何人都可以确认吗?
答案 0 :(得分:3)
嗯,对于某些价值观存在问题:I。e。如果a=0和b大于int64_t+1的最大值,则会出现溢出。我不知道,你的现实世界价值观是否可以这样。
a=0
b
int64_t+1
但是,您可以更轻松地使用它:
a>b?a-b:b-a