Enhance docs, add more tests in NumbersDifferentSigns (#5858)

This commit is contained in:
Hardik Pawar
2024-10-26 14:35:22 +05:30
committed by GitHub
parent 2ec4a1f532
commit b0cef5b571
2 changed files with 47 additions and 18 deletions

View File

@ -1,14 +1,29 @@
package com.thealgorithms.bitmanipulation;
/**
* Numbers Different Signs
* 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
*/
public final class NumbersDifferentSigns {
private NumbersDifferentSigns() {
}
/**
* 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
*/
public static boolean differentSigns(int num1, int num2) {
return (num1 ^ num2) < 0;
}