merge: Binary Convert (#865)

* Binary Convert

* Update link

* add more test cases
This commit is contained in:
YATIN KATHURIA
2021-12-14 11:01:52 +05:30
committed by GitHub
parent f387ff327c
commit bbdb5cf38a
2 changed files with 36 additions and 9 deletions

View File

@ -1,10 +1,25 @@
const BinaryConvert = (number) => {
const result = []
let i
for (i = number; i > 0; i = parseInt(i / 2)) {
result.push(i % 2) // push the value (remainder)to array
} return Number(result.reverse().join(''))
// reverse index of array as string ,join and change the type of value to become Number
/**
* @function BinaryConvert
* @description Convert the decimal to binary.
* @param {Integer} num - The input integer
* @return {Integer} - Binary of num.
* @see [BinaryConvert](https://www.programiz.com/javascript/examples/decimal-binary)
* @example BinaryConvert(12) = 1100
* @example BinaryConvert(12 + 2) = 1110
*/
const BinaryConvert = (num) => {
let power = 1
let binary = 0
while (num) {
const rem = num % 2
num = Math.floor(num / 2)
binary = rem * power + binary
power *= 10
}
return binary
}
// call function and value as parameter to passing the value
export { BinaryConvert }

View File

@ -1,10 +1,22 @@
import { BinaryConvert } from '../BinaryConvert'
describe('Binary Convert', () => {
describe('BinaryConvert', () => {
it('should return the correct value', () => {
expect(BinaryConvert(4)).toBe(100)
})
it('should return the correct value', () => {
expect(BinaryConvert(12)).toBe(1100)
})
it('should return the correct value of the sum from two number', () => {
expect(BinaryConvert(12 + 2)).toBe(1110)
})
it('should return the correct value of the subtract from two number', () => {
expect(BinaryConvert(245 - 56)).toBe(10111101)
})
it('should return the correct value', () => {
expect(BinaryConvert(254)).toBe(11111110)
})
it('should return the correct value', () => {
expect(BinaryConvert(63483)).toBe(1111011111111011)
})
})