收藏 分享(赏)

c语言位运算-经典.doc

上传人:fmgc7290 文档编号:6102858 上传时间:2019-03-27 格式:DOC 页数:4 大小:34.50KB
下载 相关 举报
c语言位运算-经典.doc_第1页
第1页 / 共4页
c语言位运算-经典.doc_第2页
第2页 / 共4页
c语言位运算-经典.doc_第3页
第3页 / 共4页
c语言位运算-经典.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、位运算应用口诀 清零取反要用与,某位置一可用或若要取反和交换,轻轻松松用异或移位运算要点 1 它们都是双目运算符,两个运算分量都是整形,结果也是整形。2 “右移:右边的位被挤掉。对于左边移出的空位,如果是正数则空位补 0,若为负数,可能补 0 或补 1,这取决于所用的计算机系统。4 “运算符,右边的位被挤掉,对于左边移出的空位一概补上 0。位运算符的应用 (源操作数 s 掩码 mask)(1) 按位与- (8)判断一个整数是不是 2 的幂, 对于一个数 x = 0,判断他是不是 2 的幂boolean power2(int x)return (xy = x;x = y;(10)计算绝对值int

2、 abs( int x )int y ;y = x 31 ;return (xy)-y ; /or: (x+y)y(11)取模运算转化成位运算 (在不产生溢出的情况下)a % (2n) 等价于 a Else if(x = b) x= a;等价于 x= a b x;(16) x 的 相反数 表示为 (x+1)#include /设置 x 的第 y 位为 1#define setbit(x,y) (x)|=(1(pos-1)/判断 a 是否为 2 的幂次数bool power2(int x)return (x/x 与 y 互换void swap(inty = x;x = y;int main()i

3、nt a=0x000D;print(a);int b=BitGet(a,2);print(b);setbit(a,2);print(a);print(BitGet(a,2);int c=Rot(a,33);print(c);print(BitGet(c,5);printf(“8+5=%dn“,average(8,692);int i;for (i=0;i1000;i+)if (POW2(i)/调用 power2(i)printf(“%-5d“,i);printf(“n“);int x=10,y=90;swap(x,y);print(x);print(y);print(OPPX(-705);return 0;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 网络科技 > C/C++资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报