Small fixes + comply with JS standard styles.

This commit is contained in:
Eric Lavault
2021-10-09 12:23:49 +02:00
parent 5a290c3ae5
commit 8812f63ba2
2 changed files with 7 additions and 5 deletions

View File

@ -14,7 +14,7 @@
And we know that 1's complement is just opp. of that number. And we know that 1's complement is just opp. of that number.
So, (n & (n-1)) will be 0. So, (n & (n-1)) will be 0.
For eg: (1000 & (1000-1)) For eg: (1000 & (1000-1))
1 0 0 0 // Original Number (8) 1 0 0 0 // Original Number (8)
0 1 1 1 // After Subtracting 1 (8-1 = 7) 0 1 1 1 // After Subtracting 1 (8-1 = 7)
_______ _______
@ -23,6 +23,8 @@
*/ */
export const IsPowerOfTwo = (n) => { export const IsPowerOfTwo = (n) => {
if (n != 0 && (n & (n - 1)) == 0) return true if (n > 0 && (n & (n - 1)) === 0) {
else return false return true
}
return false
} }

View File

@ -5,9 +5,9 @@ test('Check if 0 is a power of 2 or not:', () => {
expect(res).toBe(false) expect(res).toBe(false)
}) })
test('Check if 0 is a power of 2 or not:', () => { test('Check if 1 is a power of 2 or not:', () => {
const res = IsPowerOfTwo(1) const res = IsPowerOfTwo(1)
expect(res).toBe(false) expect(res).toBe(true)
}) })
test('Check if 4 is a power of 2 or not:', () => { test('Check if 4 is a power of 2 or not:', () => {