# Dec2Bin Example
Example 1:
| 输入:n = 10 |
| 输出:1010 |
| 解释:将十进制转换为二进制 |
Example 2:
| 输入:n = 15 |
| 输出:1111 |
| 解释:将十进制转换为二进制 |
# Solving Ideas
| function dec2bin(decNumber) { |
| const stack = new Array() |
| |
| |
| while (decNumber > 0) { |
| |
| |
| stack.push(decNumber % 2) |
| |
| |
| decNumber = ~~(decNumber / 2) |
| } |
| |
| |
| return +stack.reverse().join('') |
| } |
| |
| console.log(dec2bin(25)) |
# Bin2Dec Example
Example 1:
| 输入:n = 1010 |
| 输出:10 |
| 解释:将二进制转换为十进制 |
Example 2:
| 输入:n = 1111 |
| 输出:15 |
| 解释:将二进制转换为十进制 |
# Solving Ideas
| function bin2dec(binNumber) { |
| |
| const stack = (binNumber + '').split('') |
| |
| |
| stack.forEach(item => { |
| if (+item > 1) throw new Error('Please enter the correct binary number') |
| }) |
| |
| |
| let pow = stack.length - 1 |
| let res = 0 |
| |
| for (let i = 0; i < stack.length; i++){ |
| |
| |
| if (stack[i] != 0) { |
| stack[i] = 2 ** pow |
| } |
| |
| |
| pow-- |
| } |
| |
| |
| stack.forEach(item => res += +item) |
| |
| return res |
| } |