在c程序中如何高效判断两个unsigned long long型的变量相加是否溢出
在c程序中两个unsigned long long型的变量相加,如何高效判断和是否溢出?例如:
有三个unsigned long long型的变量left, right, sum,
sum=left+right;
如何高效判断sum是否溢出。
我知道有一个办法是比较sum与left或right的大小
如果 sum<left 或 sum<right, 则说明和溢出,但两个64bits的无符号整数使用常规方法进行大小判断效率很低(请不要怀疑这一点,使用一个多重循环,用计时器计时即验证这一点),因此想请都大伙如何高效进行比较,请给出具体实现代码,内嵌汇编也行。本人测试有效,立即给分。
[解决办法]