作业帮 > 综合 > 作业

int x=1,y=2,z=3; x=x^z; y=y^z; z=x^y; cout

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/17 09:21:54
int x=1,y=2,z=3; x=x^z; y=y^z; z=x^y; cout
因为^是异或运算符,所以要按位异或,将1,2,3分别转换成二进制数是:00000001,00000010,00000011.x=x^z,即00000001^00000011,对应位置上数字不同则为一,相同则为零,因为x与z只有右数第二位不同,所以只有那一位为1,所以结果是00000010.而且此时结果赋值给x,使得x的值变为2.y=y^z即00000010^00000011,可见二者最后一位一个是0一个是1,所以结果是00000001,再将值赋给y,则y值为1.z=x^y即00000010^00000001,最后两位都不同,所以结果为00000011,并且将之赋给z,则z值为3.最后cout,连续输出xyz,所以是213