位操作技术指南.doc

位操作技术指南.doc

ID:50863158

大小:90.50 KB

页数:13页

时间:2020-03-15

位操作技术指南.doc_第1页
位操作技术指南.doc_第2页
位操作技术指南.doc_第3页
位操作技术指南.doc_第4页
位操作技术指南.doc_第5页
资源描述:

《位操作技术指南.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、位操作技术指南、土、土、土、土、土、土

2、=~(x・l)〜X=-X-1■(〜X)=X+1〜(・x)=X-1x+y=x-〜y・1二(xly)+(x&y)x-y=x4-〜y+1=(xl〜y)・(〜x&y)xAy=(xly)-(x&y)xly=(x&〜y)+yx&y=(〜xly)-〜xxy:〜(x-yly-x)x!=y:x-yly-xx

3、对值intabs(intx){inty;y=x»31;return(xAy)-y;//or:(x+y)Ay}符号函数:sign(x)=-1,x<0;0,x==0;1,x>0intsign(intx){return(x»31)I(unsigned(-x))»31;//x=-2A31吋失败(人为幕)}三值比较:cmp(x,y)=-1,xyintcmp(intx,inty){return(x>y)-(x-y);}doz=x-y,x>=y;0,x

4、xAy)&(dAx))))»31);}intmax(intx,inty){intm;m=(x-y)»31;returny&m丨x&〜m;}不使用第三方交换x,y:1,xA=y;yA=x;xA=y;2.x=x+y;y=x-y;x=x-y;3.x=x-y;y=y+x;x=y-x;4.x=y・x;x=y-x;x=x+y;双值交换:x=a,x==b;b,x==a//常规编码为x=x==a?b:a;1.x=a+b-x;2.x=aAbAx;下舍入到2的k次方的倍数:1.x&((-l)«k)2.(((unsigned)x)»k)«k上舍入:1.1=(l«k)-l;x=(

5、x+t)&〜t;2.t=(-l)«k;x=(x-t-1)&t;位计数,统计1位的数量:1.intpop(unsignedx){x=x-((x»l)&0x55555555);x=(x&Ox33333333)+((x»2)&0x33333333);x=(x+(x»4))&OxOfOfOfOf;X=X4-(x»8);X=X4-(x»16);returnx&OxOOOOOO3f;}2.intpop(unsignedx){staticchartable[256]={0,1丄2,1,2,2,3,…・,6,7,7,8};returntable[x&Oxff]+table

6、[(x»8)&Oxff]+table[(x»16)&Oxff]+table[(x»24)];}奇偶性计算:X=XA(x»1);x=xA(x»2);x=xA(x»4);x=xA(x»8);x=xA(x»16);结呆中位于X最低位,对无符号X,结果的第i位是原数第i位到最左侧位的奇偶性位反转:unsignedrev(unsignedx){x=(x&0x55555555)«1I(x»l)&0x55555555;x=(x&0x33333333)«2I(x»2)&0x33333333;x=(x&OxOfOfOfOf)«4I(x»4)&OxOfOfOfOf;x=(x«

7、24)I((x&OxffOO)«8)I((x»8)&OxffOO)I(x»24);returnx;}递增位反转后的数:unsignedinc_r(unsignedx){xA=m;if((int)x>=0)do{m»=1;xA=m;}while(xaAbBcCdDeEfFgGhHiljJkKILmMnNoOpPunsignedps(unsignedx){unsignedt;t=(xA(x»8))&OxOOOOffOO;x=xAtA(t«8);t=(xA(x»

8、4))&OxOOfOOOfO;x=xAtA(t«4);t=(xA(

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。