【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语言中的按位与(&)按位或(|)按位异或(^)取反(~)左移(<<)右移(>>)

1 前言 本人C语言上大学没有学习好,恩确切说这个应该是属于计算机组成原理的东西,由于目前在搞IOS,学的越深,越感觉需要把C语言和数据结构学好,所以今天在次与大家分享有关C语言中的按位与(&)按位...
  • u010013695
  • u010013695
  • 2013年09月16日 10:59
  • 4149

c语言学习笔记(8)位运算符,++,--运算符的用法

摘要:总结了位运算符,++,--运算符的用法,给出了一个使用异或方法巧解面试题的例子,分析了贪心法的规则。 一、位运算符用法     c语言中的位运算符主要有以下几种:      ...
  • Deep_l_zh
  • Deep_l_zh
  • 2015年09月28日 17:45
  • 2208

C语言里的左移和右移运算

先说左移,左移就是把一个数的所有位都向左移动若干位,在C中用 int i = 1; i = i 也就是说,1的2进制是000...0001(这里1前面0的个数和int的位数有关,32位...
  • u010843358
  • u010843358
  • 2014年06月18日 10:15
  • 6379

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

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

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

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

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

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

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

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

C语言位运算技巧总结

  • 2013年04月14日 10:47
  • 35KB
  • 下载

C语言 位运算 链表 课件

  • 2012年07月02日 00:37
  • 774KB
  • 下载

C语言位运算详解

  • 2012年12月16日 14:11
  • 61KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【C/C++】关于C语言的位运算
举报原因:
原因补充:

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