C语言 异或 运算符的使用

为什么结果是1000而不是1100?????... 为什么结果是1000而不是1100????? 展开
 我来答
千锋教育
2015-12-10 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
展开全部
异或的意思就是相异为真。。
现在问题主要是出现在这一句。。
b[--i]=a[j]^a[--j];
注意啦。。编译器编译的时候是从后向前的。。也就是先算a[--j],这样j就先自减了。。j从3变为2。。然后再算a[j],因为j是2,调用的时候,就是调a[2]
所以整个语句第一次执行的时候就是b[2]=a[2]^a[2],结果显然是0;
所以输出的是1100
雨夜2133
2011-12-03 · TA获得超过118个赞
知道小有建树答主
回答量:144
采纳率:0%
帮助的人:68.4万
展开全部
#include<stdio.h>
void main()
{
int a=15;
int b=6;
int c = a^b;
printf("%d",c);
}
直接用异或符号^,得到的是数字9,因为设置输出是%d
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
plt1999
2011-11-20 · TA获得超过189个赞
知道小有建树答主
回答量:411
采纳率:0%
帮助的人:144万
展开全部
异或运算相当于不进位的加法运算,就是相同的变0,不同的变1,
举个例子
1 0 1 1 1 1 0 0
^ 0 1 1 0 1 0 0 1
= 1 1 0 1 0 1 0 1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一生有你乀
2015-10-23 · 知道合伙人生活技巧行家
一生有你乀
知道合伙人生活技巧行家
采纳数:354 获赞数:39113
武汉科技大学的一名在校生,喜欢打球三国杀看书练字。

向TA提问 私信TA
展开全部
  异或也叫半加运算,其运算法则相当于不带进位的二进制加法:二进制下用1表示真,0表示假,则异或的运算法则为:0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0(同为0,异为1),这些法则与加法是相同的,只是不带进位。
  异或略称为XOR、EOR、EX-OR
  程序中有三种演算子:XOR、xor、⊕。
  使用方法如下
  z = x ⊕ y
  z = x xor y
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式