Xor 運算子- Visual Basic

文章推薦指數: 80 %
投票人數:10人

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中的邏輯運算子和位元運算子 本文內容



請為這篇文章評分?