請幫我講解一下C語言中的異或運算
首先,我們看一下異或的原理:
a = 3 ^ 5;
3的二進制是0011,5的二進制是0101。異或發現兩者的不同之處,是以a最終為0110b(4)。
了解了異或的基本原理後,接下來看上述的代碼。
a^=b;
這一句使得a被指派為“數值a”與“數值b”的“差異值”。
然後:b^=a;
這一句用異或利用“差異值”來還原a的數值,并指派給b。此時b等于a先前的數值。
最後一句:a^=b;
因為a仍然儲存着“差異值”,這一句通過異或使得b的初始值被還原,并指派給a。
。。。。。
這樣,異或就将a與b的數值“巧妙”地交換了……
我也是百度的,和樓主一起學習…………位運算共有與或非還有就是異或。
異或指的是不同則取1.相同取0;
或是有1則為1,若兩個都為1,還為1.兩個都為零才為0
與是兩個都為1,結果為1;其他結果為0
c語言裡異或運算是哪個符号?要包含什麼頭檔案麼
C語言中的異或符号是:^ ,輸入方式是shitf +6,它是一個内部運算符,不用包含任何檔案。
異或是一個位運算符,它的主要功能如下:
1.與1異或,可以使特定位翻轉;
2.與0異或,保留其值;
3.交換兩值,不使用臨時變量。代碼:a=a^b;b=b^a;a=a^b。你好!
異或是:^
在數字鍵6上面。
不用調頭檔案的。
如果對你有幫助,望采納。異或是:^
#include"stdio.h"
int main()
int a = 1;
int b = 3;
int c = a^b;//異或運算
printf("%d",c);
return 0;