博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
a、b交换
阅读量:4679 次
发布时间:2019-06-09

本文共 397 字,大约阅读时间需要 1 分钟。

求最大值:

方案一:

int max = ((a + b)+ abs(a - b))/2

方案二:

int c =a - b;char *strs[2] = {
"a Large ", "b Large "};c = unsigned(c) >> (sizeof(int) * 8 - 1);

a, b交换:

方案一:

a = a + b;b = a - b;a = a - b;

 

这样做如果a和b的值很大时,很容易出现溢出。

方案二:

a = a ^ b;b = a ^ b;a = a ^ b;

这样做的原理是按位异或运算,按位异或运算符号“^”是双目运算符,其功能是参与运算的梁书各对应的二进制位相异或,当对应的二进制位相异或时,结果为1.

 

转载于:https://www.cnblogs.com/zhangzexdu/archive/2013/03/27/2984061.html

你可能感兴趣的文章