- Notifications
You must be signed in to change notification settings - Fork 19.9k
/
Copy pathNumbersDifferentSigns.java
30 lines (28 loc) · 991 Bytes
/
NumbersDifferentSigns.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
packagecom.thealgorithms.bitmanipulation;
/**
* This class provides a method to determine whether two integers have
* different signs. It utilizes the XOR operation on the two numbers:
*
* - If two numbers have different signs, their most significant bits
* (sign bits) will differ, resulting in a negative XOR result.
* - If two numbers have the same sign, the XOR result will be non-negative.
*
* Time Complexity: O(1) - Constant time operation.
* Space Complexity: O(1) - No extra space used.
*
* @author Bama Charan Chhandogi
*/
publicfinalclassNumbersDifferentSigns {
privateNumbersDifferentSigns() {
}
/**
* Determines if two integers have different signs using bitwise XOR.
*
* @param num1 the first integer
* @param num2 the second integer
* @return true if the two numbers have different signs, false otherwise
*/
publicstaticbooleandifferentSigns(intnum1, intnum2) {
return (num1 ^ num2) < 0;
}
}