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

原创 2015年11月21日 10:46:31

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

*反码:每一位取反

 

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

C语言位运算详解(&nbsp;稳固下C吧)

位运算是指按二进制进行的运算。在系统软件中,常常需要处理二进制位的问题。C语言提供了6个位操作 运算符。这些运算符只能用于整型操作数,即只能用于带符号或无符号的char,short,int与long...

【C/C++语言入门篇】-- 位运算

回顾之前的篇幅,C语言的主体部分基本已经介绍完了。之所以没有介绍C++的相关特性是因为在之前的文章中C和C++在这些方面都有共性,所以在面向对象之前。我们先把这些共性给介绍完。也就是说在介绍面向对象之...

【C/C++语言入门篇】-- 位运算 .

回顾之前的篇幅,C语言的主体部分基本已经介绍完了。之所以没有介绍C++的相关特性是因为在之前的文章中C和C++在这些方面都有共性,所以在面向对象之前。我们先把这些共性给介绍完。也就是说在介绍面向对象之...
  • js_gary
  • js_gary
  • 2011年08月24日 17:10
  • 531

【转】【C/C++语言入门篇】-- 位运算

【C/C++语言入门篇】-- 位运算     回顾之前的篇幅,C语言的主体部分基本已经介绍完了。之所以没有介绍C++的相关特性是因为在之前的文章中C和C++在这些方面都有共性,所以在面向对象之前。我们...

c语言位运算

  • 2013年06月03日 22:30
  • 231KB
  • 下载

C语言位运算

  • 2012年06月06日 13:34
  • 96KB
  • 下载

C语言位运算详解(基础)

C语言位运算详解         位运算是指按二进制进行的运算。 在系统软件中,常常需要处理二进制位的问题。C语言提供了6个位操作运算符。这些运算符只能用于整型操作数,即只能用于带符号或无...

C语言-位运算和预处理命令

  • 2013年07月12日 20:34
  • 166KB
  • 下载

C语言位运算

  • 2015年06月08日 09:29
  • 167KB
  • 下载

【资料整理】C语言位运算总结

位操作基础 基本的位操作符有与、或、异或、取反、左移、右移这6种,它们的运算规则如下所示: 符号 描述 运算规则 & ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【C/C++】关于C语言的位运算
举报原因:
原因补充:

(最多只允许输入30个字)