踏风的博客

在校学习中的程序员

【C/C++】关于C语言的位运算

C语言位运算

 

位逻辑运算

四种运算法则如下

~位取反

A=~A

&位运算

1&1=1   1&0=0   0&1=1  0&0=0

|位运算

1|1=1       1|0=1       0|1=1       0|0=0

^位异或

1^1=0      1^0=1      0^1=1      0^0=0

 

实例:

#include <stdio.h>
void main(){
         short czs1=521;
         short czs2=123;
         shortResAnd,ResOr,ResNot,Res;
         ResAnd=czs1&czs2;
         ResOr=czs1|czs2;
         ResNot=~czs1;
         Res=czs1^czs2;
        
         printf("位于%d:\n",ResAnd);
         printf("位或%d:\n",ResOr);
         printf("位取反%d:\n",ResNot);
         printf("位异或%d:\n",Res);
        
         getch();
}


 

运行结果如下:

运行效果图


分析:

Short类型占据两个内存单元 一个内存单元=8位

1内存单元=8bit

因此,Short类型占据16位

位与:

 位于运算原理图

位或:

 

位异或:

 

位取反:

 

位与/位或/位异或都很好理解,重点是位取反

 

带符号的数是以机械数的补码形式储存的,正数的补码是其本身,负数的补码等于其反补码加1

*反码:每一位取反

 

 

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013826339/article/details/49962533
文章标签: c语言 位运算
个人分类: C/C++
上一篇【C】关于C语言数组的总结(1)
下一篇欢迎使用CSDN-markdown编辑器
想对作者说点什么? 我来说一句

c语言位运算c语言位运算

2010年03月10日 38KB 下载

C语言位运算

2011年10月24日 205KB 下载

没有更多推荐了,返回首页

关闭
关闭