kbys.net
当前位置:首页 >> C语言中A^B和A&B分别是啥意思啊 >>

C语言中A^B和A&B分别是啥意思啊

a的b次方

a|=b 即 a=a|b 其中 | 为位或运算 a&=b 即 a=a&b 其中&为位与运算

互换a,b的值 位运算是C语言的一大特色,利用异或运算可以实现交换两个数,原理是一个整数与另外一个数进行两次异或运算仍然是其本身,基本原理用式子表达如下: (1) A ^ A = 0; (2) A = A ^B; (3) B = A ^B;(相当于B = A ^ B ^ B ,即 B = A) (4)...

*b=&a这种写法只有在定义时这么写才对,例如 int *b;*b=&a;是错误的,正确的是int a=1;int *b=&a;意思是说定义一个指针b,b里存的是a这个变量的地址。如果定义好了一个这真b,那么*b就指b这个变量里存的地址里的值(有点绕口,慢慢理解),&为...

a^=b等价于a = a^b,其中^是位异或运算,即将a与b的对应位进行异或运算,同为0或者同为1时,对应位结果为0;否则为1。 比如,假设,a的值为二进制的1010,b的值为二进制的1100,那么a^b = 0110

这个叫做 “与”操作,就是将两个整数的二进制进行“与”。 比如 a = 12,那么二进制就是 1100(整数为 32 bit,这里写出最后四位,前面都是 0); b = 10,二进制就是 1010。 那么 a & b 就是 所以 12 & 10 = 8。

^表示异或,就是对应的bit如果不相同,则结果为1 a^b的含义就是把a和b转换成2进制的bit,然后按位异或 例如:3^5=00000011^00000101=00000110=6

a和b按位异或 异或根据计算位是否相同决定结果位,如果相同结果位为0,否则为1 比如1001和0011计算异或,结果为1010

a

这是在交换a,b的内容; 相当于: c = a; a = b; b = c; 但是这种方式是不会引入第三个变量。切^运算最快。 常见的不引入第三个变量交换ab的方法还有: a = a + b; b = a - b; a = a - b;

网站首页 | 网站地图
All rights reserved Powered by www.kbys.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com