二进制转十进制
二进制转十进制
代码
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)
})