Skip to content

二进制转十进制

二进制转十进制

代码

javascript
// 二进制转十进制
// 输入:'1010'
// 输出:10

export function binaryToDecimal (str) {
  let res = 0
  let digit = 0
  for (let i = str.length - 1; i > -1; i--) {
    res += Number(str[i]) * Math.pow(2, digit)
    digit += 1
  }
  return res
}
typescript
// 二进制转十进制
// 输入:'1010'
// 输出:10

export function binaryToDecimal (str: string): number {
  let res = 0
  let digit = 0
  for (let i = str.length - 1; i > -1; i--) {
    res += Number(str[i]) * Math.pow(2, digit)
    digit += 1
  }
  return res
}

测试代码

ts
import { expect, test } from 'vitest'
import { binaryToDecimal } from './typescript.ts'
import { binaryToDecimal as binaryToDecimalJs } from './javascript.js'

test(`'1010' to 10`, () => {
  expect(binaryToDecimal('1010')).toBe(10)
})

test(`'1010' to 10`, () => {
  expect(binaryToDecimalJs('1010')).toBe(10)
})