c语言基础自学总结七:位运算

c语言基础自学总结七:位运算

ID:8976088

大小:18.20 KB

页数:4页

时间:2018-04-13

c语言基础自学总结七:位运算_第1页
c语言基础自学总结七:位运算_第2页
c语言基础自学总结七:位运算_第3页
c语言基础自学总结七:位运算_第4页
资源描述:

《c语言基础自学总结七:位运算》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、C语言基础自学总结之七:位运算概念:意思是:位运算说穿了,就是直接对整数在内存中的二进制位进行操作。比如,and运算本来是一个逻辑运算符,但整数与整数之间也可以进行and运算。举个例子,6的二进制是110,11的二进制是1011,那么6and11的结果就是2,它是二进制对应位进行逻辑运算的结果(0表示False,1表示True,空位都当0处理)。针对一个变量的某一位操作就称之位,位操作。一.位运算符要点:1.&:按为与2.

2、:按位或3.^:按位异或4.~:按位取反5.<<:左移6.>>:右移1.&:按位与例子1:#inc

3、ludeintmain(void){printf("%d",5&3);//5按位与3,是1,就是每一位进行相与,与运算:与上0还是0,1与上1为1,0与上1为0,用的是补码相与,printf("%d",5&-3);//是补码的相与return0;}2.|:按位或例子1:#includeintmain(void){printf("%d",5

4、3);//或运算就是对数字的每一个进行或运算,或运算:每一位只要有一个1就是1,都是0时才为0,同样是补码运算。return0;}3.^

5、:按位异或例子1:#includeintmain(void){printf("%d",5^3);//异或每一位进行异或,相同为假,不同为真。还是补码进行异或,return0;}4.~:按位取反例子1:#includeintmain(void){printf("%d",5~3);//进行每一位取反,还是补码取反return0;}5.<<:左移例子1:#includeintmain(void){printf("%d",5<<1);//就是把”<<前面数字“每一

6、位向左边移“<<后边数字“的位数,也就把“5”的每一位,相左边整体移1位,最后超出范围的舍去,不够的补0,左移1位相当于乘以2,左移2位是乘以4,左移n位相当于是乘以2的n次方return0;}5.>>:右移例子1:#includeintmain(void){printf("%d",5>>1);//右移的方式移左移一样,超出范围的舍去,不够的正数补0,负数补1,正数右移n位相当于除以2的n次方,但是在不同的系统下,结果不一样。return0;}二.位操作要点:1、如果相求a的第n位(从0位起)是1还

7、是0,就用a与上1左移n位,如果等于1第那位就上1,若果等0第n位就是0,a&=1<intmain(void){inta=1;a

8、=1<<2;//把a的第2位变成1printf("%d",a);a&=~(1<<2);//把a

9、的第2位变成0printf("%d",a);a^=a<<2;//把a的第2位取反printf("%d",a);if(a&=a<<2){printf("a的第二位是1");}else{printf("a的第二位是0");}//判断a的第二位是1还是0return0;}

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

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

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