2011-01-27 18 views
2

のための<対XOR>は何か違いがあります:デルファイ:ブール

procedure InequalityMsg(ABool1, ABool2 : Boolean); 
begin 
    if ABool1 <> ABool2 then 
    ShowMessage('Yeah, they''re not the same'); 
end; 

procedure InequalityMsg(ABool1, ABool2 : Boolean); 
begin 
    if ABool1 XOR ABool2 then 
    ShowMessage('Yeah, they''re not the same'); 
end; 
+0

Delphiの 'x < ...しかしすぐにそれはただの 'ABool1!= ABool2'、愚かな私を実現しました。 – BoltClock

答えて

7

ありませんが、彼らはまったく同じです。 (よく生成されたコードは違うかもしれませんが、動作には違いは見られません。パフォーマンスが上がるにつれて、この質問は非常に重要ではありません。)

+0

ええ、私はちょうど緊急の問題ではないと思った。 ABool1 = ABool2はAbool1とABool2と同じですし、andとxorの真理値表を見ていたら、=と<>のような等しく反対の演算子があるとは思わないでしょう。私はちょっと閉鎖する必要があった。 –

+4

ANDと=は同じ結果を与えません。 –

+9

(falseとfalse)= false、(false = false)= true –