Xor 運算子- Visual Basic
文章推薦指數: 80 %
result = expression1 Xor expression2. 組件. result 必要。
任何 Boolean 或數值變數。
針對布林值比較, result 是兩個值的邏輯排除(獨佔邏輯分離) ...
跳到主要內容
已不再支援此瀏覽器。
請升級至MicrosoftEdge,以利用最新功能、安全性更新和技術支援。
下載MicrosoftEdge
其他資訊
目錄
結束焦點模式
閱讀英文
儲存
目錄
閱讀英文
儲存
Twitter
LinkedIn
Facebook
電子郵件
目錄
Xor運算子(VisualBasic)
發行項
06/23/2022
12位參與者
本文內容
在兩Boolean個運算式上執行邏輯排除,或在兩個數值運算式上執行位排除。
語法
result=expression1Xorexpression2
組件
result
必要。
任何Boolean或數值變數。
針對布林值比較,result是兩個值的邏輯排除(獨佔邏輯分離)Boolean。
針對位運算,是一個數值,result代表兩個數值位模式的位排除(獨佔位分離)。
expression1
必要。
任何Boolean或數值運算式。
expression2
必要。
任何Boolean或數值運算式。
備註
針對布林比較,resultTrue只有在只有其中一個expression1和expression2評估為時才為True。
也就是說,只有在和評估為相反Boolean值時,expression1expression2下表說明如何result決定。
如果expression1為
和expression2是
的值result是
True
True
False
True
False
True
False
True
True
False
False
False
注意
在布林比較中Xor,運算子一律會評估這兩個運算式,其中包括進行程序呼叫。
沒有與的短線路對應專案Xor,因為結果一律相依于這兩個運算元。
如需縮短邏輯運算子,請參閱AndAlso運算子和OrElse運算子。
若為位運算,Xor運算子會在兩個數值運算式中執行相同位置位的位比較,並根據下表在中result設定對應的位。
如果bitinexpression1為
而in位為expression2
中的result位為
1
1
0
1
0
1
0
1
1
0
0
0
注意
由於邏輯和位運算子的優先順序低於其他算術和關係運算子,因此任何位運算都應該以括弧括住,以確保正確執行。
例如,5Xor3是6。
若要查看原因,請將5和3轉換為其二進位標記法101和011。
然後使用上表來判斷101Xor011是110,這是十進位數位6的二進位標記法。
資料類型
如果運算元是由一個Boolean運算式和一個數值運算式所組成,VisualBasic會將Boolean運算式轉換成數值(–1forTrue和0表示False),並執行位運算。
Boolean為了進行比較,結果的資料類型為Boolean。
為了進行位比較,結果資料類型是適用于和expression2資料類型的expression1數數值型別。
請參閱運算子結果資料類型中的「關聯式和位比較」資料表。
多載化
Xor運算子可以多載,這表示當運算元具有該類別或結構的類型時,類別或結構可以重新定義其行為。
如果您的程式碼在這類類別或結構上使用這個運算子,請確定您已瞭解其重新定義的行為。
如需詳細資訊,請參閱OperatorProcedures。
範例1
下列範例會Xor使用運算子,在兩個運算式上執行邏輯排除(獨佔邏輯分離)。
結果是一個Boolean值,表示是否只有其中一個運算式是True。
DimaAsInteger=10
DimbAsInteger=8
DimcAsInteger=6
DimfirstCheck,secondCheck,thirdCheckAsBoolean
firstCheck=a>bXorb>c
secondCheck=b>aXorb>c
thirdCheck=b>aXorc>b
上述範例分別會產生、True和False的結果False。
範例2
下列範例會Xor使用運算子,對兩個數值運算式的個別位執行邏輯排除(獨佔邏輯分離)。
如果運算元中的其中一個對應位設定為1,則會設定結果模式中的位。
DimaAsInteger=10'1010inbinary
DimbAsInteger=8'1000inbinary
DimcAsInteger=6'0110inbinary
DimfirstPattern,secondPattern,thirdPatternAsInteger
firstPattern=(aXorb)'2,0010inbinary
secondPattern=(aXorc)'12,1100inbinary
thirdPattern=(bXorc)'14,1110inbinary
上述範例分別會產生2、12和14的結果。
另請參閱
邏輯/位元運算子(VisualBasic)
VisualBasic中的運算子優先順序
依功能列出運算子
VisualBasic中的邏輯運算子和位元運算子
本文內容
延伸文章資訊
- 1xor:異或 - 中文百科知識
運算法則
- 2邏輯互斥或- 維基百科,自由的百科全書
雖然XOR運算可用來交換變數,但比起使用額外變數來交換變數的做法相比,效能反而比較差。 參考來源[編輯]. 參見[編輯].
- 3位元XOR運算(^) | 86Duino
int c = a | b; // result: 00000000000000000000000001111101, or 125 in decimal. 位元運算XOR (^). 這是一個特...
- 4XOR 位元運算子
XOR 位元運算子. 今天要來介紹一下XOR ,首先還是要先說明一下今天為什麼介紹XOR呢?因為某日我得到了一個題目是這樣子的 某個未排序陣列裡面所有數字都程度出現,但有 ...
- 5Xor 運算子- Visual Basic
result = expression1 Xor expression2. 組件. result 必要。 任何 Boolean 或數值變數。 針對布林值比較, result 是兩個值的邏輯排除(...