Skip to content

十进制转换为二进制

题目描述

给定一个十进制数,返回一个二进制表示的字符串。

Code

javascript
/**
 * 将一个十进制数转换为二进制的字符串
 * @param {number} decNumber 十进制数
 * @returns {string} 二进制表示的字符串
 */
function decimalToBinary(decNumber) {
  const remStack = new StackWithArray();
  let num = decNumber;
  let rem;
  let binaryString = '';
  do {
    rem = num % 2;
    num = Math.floor(num / 2);
    remStack.push(rem);
  } while (num > 0);
  while (!remStack.isEmpty()) {
    binaryString += remStack.pop();
  }
  return binaryString;
}

Test Cases

javascript
const { decimalToBinary } = require('./decimalToBinary');

describe('decimalToBinary', () => {
  it('should be 1111', () => {
    expect(decimalToBinary(15)).toBe('1111');
  });
  it('should be 0', () => {
    expect(decimalToBinary(0)).toBe('0');
  });
  it('should be 1', () => {
    expect(decimalToBinary(1)).toBe('1');
  });
  it('should be 10', () => {
    expect(decimalToBinary(2)).toBe('10');
  });
});