




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
20个位运算技巧,一提起位运算,人们往往想到它的高效性,无论是嵌入式编程还是优化系统的核心代码,适当的运用位运算总是一种迷人的手段,或者当您求职的时候,在代码中写入适当的位运算也会让您的程序增加一丝亮点,最初当我读编程之美求“1的数目”时,我才开始觉得位运算是如此之美,后来读到HackersDelight,感慨到HenryS.Warren把位运算运用的如此神出鬼没,很多程序都十分精妙,我觉得在一个普通的程序中大量运用这样的代码的人简直是疯了!但掌握简单的位运算技巧还是必要的,所以今天写这篇博文把我积累的一些位运算技巧分享给大家,这些技巧不会是如求“1的数目”的技巧,是最基本的一行位运算技巧!,1.获得int型最大值,cppviewplaincopyintgetMaxInt()return(131)-1;/2147483647,由于优先级关系,括号不可省略,另一种写法cppviewplaincopyintgetMaxInt()return(131);/2147483647,另一种写法cppviewplaincopyintgetMaxInt()/有些编译器不适用return(11;/2147483647,2.获得int型最小值,cppviewplaincopyintgetMinInt()return131;/-2147483648,另一种写法cppviewplaincopyintgetMinInt()/有些编译器不适用return11;/2147483647,JAVA版javaviewplaincopylonggetMaxLong()return(long)1127)-1;/9223372036854775807获得long最小值,和其他类型的最大值,最小值同理.,4.乘以2运算cppviewplaincopyintmulTwo(intn)/计算n*2returnn1;/除以2,6.乘以2的m次方cppviewplaincopyintmulTwoPower(intn,intm)/计算n*(2m)returnnm;,8.判断一个数的奇偶性javaviewplaincopybooleanisOddNumber(intn)return(n,9.不用临时变量交换两个数(面试常考)C语言版cppviewplaincopyvoidswap(int*a,int*b)(*a)=(*b)=(*a)=(*b);,通用版(一些语言中得分开写)javaviewplaincopya=b;b=a;a=b;,10.取绝对值(某些机器上,效率比n0?n:-n高)cppviewplaincopyintabs(intn)return(n(n31)-(n31);/*n31取得n的符号,若n为正数,n31等于0,若n为负数,n31等于-1若n为正数n0=0,数不变,若n为负数有n-1需要计算n和-1的补码,然后进行异或运算,结果n变号并且为n的绝对值减1,再减去-1就是绝对值*/,11.取两个数的最大值(某些机器上,效率比ab?a:b高),通用版cppviewplaincopyintmax(inta,intb)returnb/*如果a=b,(a-b)31为0,否则为-1*/,C语言版cppviewplaincopyintmax(intx,inty)returnx(xy)/*如果x=b,(a-b)31为0,否则为-1*/,C语言版cppviewplaincopyintmin(int
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年杭州市上城区望江街道社区卫生服务中心招聘编外1人模拟试卷及一套参考答案详解
- 2025劳动合同范本简约版
- 2025年宜昌市消防救援支队政府专职消防员招聘48人考前自测高频考点模拟试题参考答案详解
- 2025内蒙古能源集团有限公司法律合规与企业管理部副经理岗位招聘1人考前自测高频考点模拟试题及参考答案详解一套
- 2025年湖南益阳市交通投资运营集团有限公司招聘(第一批)模拟试卷及答案详解1套
- 2025贵州黔西南州望谟县消防救援大队招聘政府专职消防文员1人模拟试卷及答案详解(必刷)
- 2025昆明市嵩明县人民医院招聘编外太平间专职管理人员(1人)考前自测高频考点模拟试题及答案详解(名师系列)
- 2025北京大兴国际机场临空经济区(廊坊)幼儿园招聘合同制教师3名模拟试卷附答案详解(突破训练)
- 2025呼伦贝尔牙克石市第三批招聘16名城镇公益性岗位劳动保障协理员考前自测高频考点模拟试题及1套参考答案详解
- 安全教育培训公示课件
- 修井机培训课件
- 医学科普文章写作技巧
- 物业高端化规定
- 采暖补贴审计方案(3篇)
- 锂电池公司管理制度
- GB/T 17948.7-2025旋转电机绝缘结构功能性评定总则
- 农光互补光伏发电项目发展趋势与前景分析
- 光伏发电建设工程质量监督检查大纲(2023版)
- 老人外出免责协议书
- 数字信号处理理论与应用练习题集
- 处方药销售管理制度2023年零售药店管理制度
评论
0/150
提交评论