C语言里的按位异或运算符

c语言的按位异或运算符是啥意思啊,做什么用的啊,谢谢... c语言的按位异或运算符是啥意思啊,做什么用的啊,谢谢 展开
 我来答
蠁蠁蠁胃
2018-05-06 · TA获得超过5675个赞
知道答主
回答量:45
采纳率:100%
帮助的人:1.6万
展开全部

异或运算符∧也称XOR运算符,它的作用是判断参加运算的两个二进制位是否为同号,若同号则结果为0;异号则为1。即0异或0=0,1异或0=1,1异或1=0。

应用: 

1、使特定位翻转。假设有01111010,想使其低4位翻转。可以将它与0000111进行异或运算,结果为01110101。

2、与0异或,保留原值。如012异或00=012.

3、交换两个值,不用临时变量。假如a=3,b=4。想将a和b的值互换,可以用以下赋值语句实现:

a=a异或b;

b=b异或a;

a=a异或b;

C语言位运算符:与、或、异或、取反、左移和右移

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

& 按位与 如果两个相应的二进制位都为1,则该位的结果值为1,否则为0

| 按位或 两个相应的二进制位中只要有一个为1,该位的结果值为1

^ 按位异或 若参加运算的两个二进制位值相同则为0,否则为1

~ 取反 ~是一元运算符,用来对一个二进制数按位取反,即将0变1,将1变0

<< 左移 用来将一个数的各二进制位全部左移N位,右补0

>> 右移 将一个数的各二进制位右移N位,移到右端的低位被舍弃,对于无符号数,高位补0

蹉子线融雪
2019-12-08 · TA获得超过4236个赞
知道大有可为答主
回答量:3171
采纳率:28%
帮助的人:177万
展开全部
1:“按位与”运算符(&)用法是如果两个相应的二进制位都为1,则该位的结果值为1否则为0。0&0=0,1&0=0,1&1=1
2:“按位或”运算符(|)用法是如果两个相应的二进制位有一个为1,则该位的结果值为1否则为0。0&0=0,1&0=0,1&1=1
0,1&0=1,1&1=1
3:“异或”运算符(^)用法是如果两个相应的二进制位为同号,则该位的结果值为1否则为0。0&0=1,1&0=0,1&1=1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式