World's most popular travel blog for travel bloggers.

# [Solved]: Compute equality comparison without comparison operators

, ,
Problem Detail:

Is there a possibility to compute the result of an integer equality comparison by only using arithmetic or bitwise operations? Negative values use the two-complement representation.

I am looking for a generic algorithm, which results in two possible values for equality and inequality but not using comparison operations.

#### Answered By : Evil

Let $W$ be the number of bits, $A, B$ integers to compare.

$Result = (NOT((A - B) \text{ OR } (B - A))) >> (W - 1)$.

Here NOT negates bits. $A - B$ and $B - A$ is zero iff numbers are equal otherwise they are of different signs which ORed together will give a negative number.
The result is $1$ if numbers are equal and $0$ otherwise.

###### Best Answer from StackOverflow

Question Source : http://cs.stackexchange.com/questions/63972

3.2K people like this