exclusive or with java


references

^

XOR 을 사용할 일은 많이 없을 듯 하지만, 의외로 사용할 일이 있을 때 모르고 지나치는 일이 있다. 아래 코드는 condition1condition2중 하나만 true 일 때 특정 작업을 수행하는 코드이다.

void some() {
    if (condition1) {
        if (!condition2) {
            // do some!                     // T F
            return;
        }
    } else { // !condition1
        if (condition2) {
            // do some!                     // F T
            return;
        }
    }
    assert (condition1 && condition2)       // T T
           || (!condition1 && !condition2); // F F
}

Exclusive OR 를 다음과 같이 사용할 수 있다.

void some() {
    if (condition1 ^ condition2) {            // T F | F T
        // do some!
    }
}
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s