c语言)求x的y次方,输入x和y的值,y为整数
创新互联专注于六安企业网站建设,成都响应式网站建设,商城网站制作。六安网站建设公司,为六安等地区提供建站服务。全流程定制设计,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务
x^y的意思是按位异或,当两个数的二进制表示,进行异或运算时,当前位的两个二进制表示不同则为1相同则为0。
也叫半加运算,其运算法则相当于不带进位的二进制加法:二进制下用1表示真,0表示假,则异或的运算法则为:0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0(同为0,异为1),这些法则与加法是相同的,只是不带进位,所以异或常被认作不进位加法。
扩展资料
若需要交换两个变量的值,除了通常使用的借用中间变量进行交换外,还可以利用异或,仅使用两个变量进行交换。
位运算时把数字用二进制表示之后,对每一位上0或者1的运算。理解位运算的第一步是理解二进制。二进制是指数字的每一位都是0或者1.比如十进制的2转化为二进制之后就是10。
右移运算符mn表示把m右移n位。右移n位的时候,最右边的n位将被丢弃。但右移时处理最左边位的情形要稍微复杂一点。这里要特别注意,如果数字是一个无符号数值,则用0填补最左边的n位。如果数字是一个有符号数值,则用数字的符号位填补最左边的n位。
参考资料来源:百度百科-异或
根据问题补充。
^=
是个异或并赋值的操作符。属于位操作符。二者不同返回1,相同返回
0;
意思是
x与y异或的结果存入
x。
假如
x的二进制是
00000000
00000000
00000000
11111111;
或者更长
y的二进制是
00000000
00000000
11111111
00001111;
则
x^=y;之后
x
的二进制是
00000000
00000000
11111111
11110000;