【笔试/面试】—— 不使用大于、小于、if 语句,实现 max 宏
\max=((a+b)+abs(a-b))/2\\ \min=((a+b)-abs(a-b))/2
所以问题,转换为如何不使用大于、小于、if语句,实现求一个数的绝对值;
int abs(int x)
{return ((x>>31)&0x01)?(~x+1:x);
}
因此:
#define MAX(a, b) ((a) + (b) + (((a)-(b)) >> 31 & 0x01 ? ~((a)-(b))+1:((a)-(b)))) >> 1 // 注意 + 的优先级要高于 >>
#define MIN(a, b) ((a) + (b) - (((a)-(b)) >> 31 & 0x01 ? ~((a)-(b))+1:((a)-(b)))) >> 1
其实将宏转换为函数可能更为清晰一点:
int max(int x, int y)
{return ((x+y) + (x-y>>31 & 0x01 ? ~(x-y)+1:(x-y)))>>1;
}
int min(int x, int y)
{return ((x+y) - (x-y>>31 & 0x01 ? ~(x-y)+1:(x-y)))>>1;
}
【笔试/面试】—— 不使用大于、小于、if 语句,实现 max 宏相关推荐
- java mysql 语句中 大于 小于 等于 的写法
在项目中使用 mybatis 写 sql 语句时,遇到需要进行大于小于比较的逻辑,在 sqlyog 中直接写 > 或 < 可以正常运行 sql ,但是项目启动起来就报 sql 错误异常. ...
- 转:九月十月百度人搜,阿里巴巴,腾讯华为笔试面试八十题(第331-410题)
分类: 05.MS 100' original 2012-09-13 12:38 108951人阅读 评论(346) 收藏 举报 目录(?)[+] 九月十月百度人搜,阿里巴巴,腾讯华为小米搜狗笔试面试 ...
- 九月十月百度人搜,阿里巴巴,腾讯华为小米搜狗笔试面试八十题(10.29)
文章出处:http://blog.csdn.net/v_july_v/article/details/7974418 九月十月百度人搜,阿里巴巴,腾讯华为小米搜狗笔试面试八十题 (参与算法&面 ...
- 九月十月百度人搜,阿里巴巴,腾讯华为小米搜狗笔试面试八十题(10.23)
引言 自发表上一篇文章至今(事实上,上篇文章更新了近3个月之久),blog已经停了3个多月,而在那之前,自开博以来的21个月每月都不曾断过.正如上一篇文章支持向量机通俗导论(理解SVM的三层境界)末尾 ...
- 九月十月百度人搜,阿里巴巴,腾讯华为笔试面试八十题(第331-410题) C++版
好文章,分享,更多内容请访问原文地址:http://blog.csdn.net/v_july_v/article/details/7974418 九月十月百度人搜,阿里巴巴,腾讯华为小米搜狗笔试面试八 ...
- 九月十月百度人搜,阿里巴巴,腾讯华为小米搜狗笔试面试八十题(10.14)
引言 自发表上一篇文章至今(事实上,上篇文章更新了近3个月之久),blog已经停了3个多月,而在那之前,自开博以来的21个月每月都不曾断过.正如上一篇文章支持向量机通俗导论(理解SVM的三层境界)末尾 ...
- 淘宝,微软,IBM等公司笔试,面试题目
①淘宝笔试题目 题目大意如下:请使用C语言完成strnicmp的编码实现,要求不能调用任何其他函数.strcicmp完成两个ascii字符串的比较,忽略大小写(两个英文字母比时,认为大小写无差别),最 ...
- 嵌入式软件工程师笔试面试指南-C/C++
哈喽,大家好.最近几天,我把去年秋招总结的笔试面试的一些内容,又进行了重新规划分类.详细分成了简历书写,面试技巧,面经总结,笔试面试八股文总结等四个部分. 其中,八股文又分成了C/C++,数据结构与算 ...
- [转]九月十月百度人搜,阿里巴巴,腾讯华为笔试面试八十题(第331-410题)
引言 自发表上一篇文章至今(事实上,上篇文章更新了近3个月之久),blog已经停了3个多月,而在那之前,自开博以来的21个月每月都不曾断过.正如上一篇文章支持向量机通俗导论(理解SVM的三层境界)末尾 ...
- IC/FPGA笔试/面试题分析(八)近期IC/FPGA笔试面试讨论群题目汇总解析
背景:IC前端设计/FPGA笔(面)试交流群,欢迎同行加入 自从开始邀请同行加入笔试面试交流群之后,目前已经有40多位同行加入,大家踊跃发言,各抒己见,让各自受益匪浅. 今天的这篇博文是将近期部分题目 ...
最新文章
- PRICAI开幕 第四范式发起AutoML议题
- swift_024(Swift 的构造过程)
- 人工智能靠人工:标注员1天要听1000条录音
- gva explaination
- 详解Scala函数也是对象的特性
- spark sql中的窗口函数
- hdu 6016 Count the Sheep
- C#编程指南:使用属性
- html遮罩提示框代码,基于jQuery实现弹出可关闭遮罩提示框实例代码
- Jsrender初体验
- 大数据开发笔记(九):Flink基础
- 从最新的ACL、NAACL和EMNLP中详解知识增强的语言预训练模型
- 网络渗透就业学习路线
- 电容或电感的电压_眼见不一定为实!电阻、电容和电感的实际等效模型
- TesterHome android app 编写历程(三)
- vue渲染大量数据优化_vue大数据表格卡顿问题的完美解决方案
- Ubuntu清理系统垃圾 命令
- 浅谈ASP脚本的解释
- MFC添加加瓦系列一之MFC水平与垂直布局
- 【php毕业设计】基于php+mysql+mvc的网上留言管理系统设计与实现(毕业论文+程序源码)——网上留言管理系统
热门文章
- Nginx增加第三方外部插件
- 关于sql的正则表达式
- docker 网桥冲突了解决
- hive 中String对长度没有限制
- aspose.words读取html,Aspose.Words for .NET HTML代码直接生成WORD | 学步园
- mac的终端通过ssh远程连接Linux服务器
- Sublime Text3 python交互式环境+快捷键设置
- 大数据系列3-第一章-大数据概论
- Pycharm Professional(专业版2018.2.1)最简单方法破解,亲测有效(转)
- HDU 5863 cjj's string game ( 16年多校10 G 题、矩阵快速幂优化线性递推DP )