Math.Abs​​表示两个ulong(无符号长整数)值的差值

时间:2012-09-03 20:36:39

标签: c# .net math

我正在寻找返回类型为ulong的Math.Abs​​(ulong,ulong)。 但似乎微软只为long,int等实现了它。 还有另一种快速的方法吗?

抱歉,需要更正:

Math.Abs(ulong - ulong)

所以它可以变为负数,并且超出了长期的范围。

2 个答案:

答案 0 :(得分:11)

无符号长值始终为正值,因为它们不包含符号。因此,Math.Absulong毫无意义。


鉴于您的新问题,您可以使用:

ulong difference = first > second ? first-second : second-first;

这将为您提供两个值之间的差异,这实际上是您通过减去两个值得到的结果的绝对值,就像它们被签名一样。

答案 1 :(得分:1)

为了避免超出范围我认为你想要这样的东西:

a > b ? a-b : b-a