C语言位运算符:与、或、异或、取反、左移和右移_第1页
C语言位运算符:与、或、异或、取反、左移和右移_第2页
C语言位运算符:与、或、异或、取反、左移和右移_第3页
C语言位运算符:与、或、异或、取反、左移和右移_第4页
C语言位运算符:与、或、异或、取反、左移和右移_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言位运算符:与、或、异或、取反、左移和右移语言位运算符:与、或、异或、取反、左移和右移C语言供给的位运算符列表:运算符含义描述&按位与假设两个相应的二进制位都为1,则该位的结果值为1,否则为0|按位或两个相应的二进制位中只要有一个为1,该位的结果值为1^按位异或假设参与运算的两个二进制位值一样则为0,否则为1~~是一元运算符,用来对一个二进制数按位取反,马上0变1,将1变0<<N位,右补0>>号数,高位补01、“按位与”运算符〔&〕与的二进制位都为1,则该位的结果值为1;否则为0。这里的1可以理解为规律中规律上的“与”,要求运算数全真,结果才为真。假设,A=true,B=true则进制则标记为e〔0或1就是一个位。将〔〕补足成一个字节,则是〔。的二进制编码是〔,将其补足成一个字节,则是〔〕按位与运算:00000011(2)00000001(2)3&5=1c语言代码:#include<stdio.h>main{inta=3;intb=5;printf(“%d“,a&b);}按位与的用途:清零假设想对一个存储单元清零,即使其全部二进制位为0,只要找一个二进制数,其中各个位符合一下条件:原来的数中为&目的。例:原数为,即1〔,另找一个数,设它为8,即,将两者按位与运算:00101011〔2〕&10010100〔2〕00000000〔2〕c语言源代码:#include<stdio.h>main{inta=43;intb=148;printf(“%d“,a&b);}取一个数中某些指定位假设有一个整数a(2byte),a与8个1按位与即可。a0010110010101100b0000000011111111c0000000010101100保存指定位:与一个数进展“按位与”运算,此数在该位取1.例如:有一数,即〔,想把其中从左边算起的第,,,,8位保存下来,运算如下:01010100(2)00010000(2)c=a&b=16c语言源代码:#include<stdio.h>main{inta=84;intb=59;printf(“%d“,a&b);}2、“按位或”运算符〔|〕两个相应的二进制位中只要有一个为1,该位的结果值为1。借用规律学中或运算的话来说就是,一真为真。60与八进制17进展按位或运算。0011000000111111c语言源代码:#include<stdio.h>main{inta=060;intb=017;printf(“%d“,a|b);}应用:按位或运算常用来对一个数据的某些位定值为1。例如:假设想使一个数进展按位或运算即可。3、交换两个值,不用临时变量例如:a=3,即〔;b=4,即〔想将a和b的值互换,可以用以下赋值语句实现:a=a∧b;b=b∧a;a=a∧b;〔∧〕b=100(2)〔∧〕b=100(2)〔∧〕a=111(2)a=〔〔ab的结果,a已变成4〕等效于以下两步:和。a=aba的值等于〔ab,b等于〔bab,a的值等于b。很惊奇吧!c语言源代码:#include<stdio.h>main{inta=3;intb=4;a=a^b;b=b^a;a=a^b;printf(“a=%db=%d“,a,b);}4、“取反”运算符〔~〕他是一元运算符,用于求整数的二进制反码,即分别将操作数各二进制位上的1变为0,0变为1。源代码:#include<stdio.h>main{inta=077;}5、左移运算符〔<<〕定〔右操作数必需是非负值,其右边空出的位用填补,高位左移溢出则舍弃该高位。a的二进制数左移〔,左移位得〔。源代码:#include<stdio.h>main{inta=15;}乘了4。但此结论只适用于该数左移时被溢出舍弃的高位中不包含1的状况。假设以一个字节〔8位〕存一个整数,假设a为无符号整型变量,则a=64时,左移一位时溢出的是0,而左移2位时,溢出的高位中包含1。6、右移运算符〔>>〕定〔右操作数必需是非负值机器将对左边空出的局部〔算术移位〔即规律移位。注,右移时左边高位移入,假设原来符号位为数为正),则左边也是移入0。假设符号位原来为1(即负数),则左边移入0还是1,要取决于所用的计算机系统。有的系统移入0,有的。移入0的称为“规律移位”,即简洁移位;移入1的称为“算术移位”。a的值是八进制数113755:a:1001011111101101〔用二进制形式表示〕a>>10100101111110110规律右移时)a>>11100101111110110算术右移时)在有些系统中,a>>1得八进制数045766,而在另一些系统上可能得到的是编译承受的是算术右移,即对有符号数右移时,假设符号位原来为

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论