a,b求最大值
方案一:int max=((a+b)+abs(a-b))/2;
mix(a,b)+abs(a-b)=max(a,b);
max(a,b)=(mix(a,b)+max(a,b)+abs(a-b))/2;
由于a和b谁小不知道,所以这样加一下,就是2max(a,b)了
方案二:
int c=a-b;
char *strs[2]={"a大","b大"};
c=unsigned(c)>>(sizeof(int)*8-1);
这个看不懂,有懂的给我讲一下吧
方案一:int max=((a+b)+abs(a-b))/2;
mix(a,b)+abs(a-b)=max(a,b);
max(a,b)=(mix(a,b)+max(a,b)+abs(a-b))/2;
由于a和b谁小不知道,所以这样加一下,就是2max(a,b)了
方案二:
int c=a-b;
char *strs[2]={"a大","b大"};
c=unsigned(c)>>(sizeof(int)*8-1);
这个看不懂,有懂的给我讲一下吧