异或操作求取最小值
来源:互联网 发布:2017中小学生网络竞赛 编辑:程序博客网 时间:2024/05/06 14:20
y^(x^y)&-(x<y))求取二者的最小值
如果x<y;则根据运算规则有,-(x<y)为-1,计算机中都是用补码表示数字的,所以计算机中-1表示为全1;所以在下一步的运算中(x^y)&-(x<y)得到的结果为(x^y);之后y^(x^y),根据异或运算的交换略,y^y^x结果为x;
如果x>y;则根据运算规则有,-(x<y)为-1,计算机中补码表示也是全为0,所以(x^y)&-(x<y)得到的结果为0,之后y^0为y;
综上所述,所以这个式子返回的是x和y的最小值。
经过以上的分析,我们可以很快推导出使用这些位运算计算二者最大值的方法,即(y^(x^y)&(x<y-1))或者(x^(x^y)&-(x<y));具体的推导过程和上面的一样。
0 0
- 异或操作求取最小值
- 使用异或运算和与运算求取二者最大值和最小值(不使用判断语句求二者最小值)
- matlab fminsearch 求取最小值失败的情况
- codeforces 842D Trie 树异或不存在的最小值
- 给定N个数,求取其最大最小值,要求尽可能的快
- 异或操作
- 异或操作总结
- 异或操作妙用
- 异或操作
- 异面直线求取投影交点
- 与、或、异或的操作
- 二进制位 :或 异或 与 操作
- 带最小值操作的栈
- 带最小值操作的栈
- 带最小值操作的栈
- 带最小值操作的栈
- 带最小值操作的栈
- 带最小值操作的栈
- Android sdk content loader 0% - mac
- Android中ContentResolver的query方法中参数的详细解析
- system("ls") 陷阱
- Xcode 5后Provisioning Profiles的mac路径 位置
- 中国电信河南分公司笔面经验
- 异或操作求取最小值
- 如何在VisualStudio2010 创建C语言项目
- 链表操作
- 使用配置文件动态获取WebService地址
- Fragment强烈不推荐使用自定义带参的构造函数
- myeclipse/eclipse中改变字体大小
- 呦呦切克闹
- 引用开源框架通过AsyncHttpClient处理get/post请求
- Spring中注解的配置