
10進数から2進数 2進数から10進数への変換 JavaScript
2020-07-125 min read
目次
概要
10進数から2進数、2進数から10進数への変換を行うJavaScriptのコードの紹介。
JSの場合、10進数から2進数への変換はtoString
メソッド。2進数から10進数への変換はparseInt
関数を使えばサクッと算出できますが、それらを使わずに実装しました。
10進数から2進数
function intToBin(num) {
let ans = []
if (num === 0) {
return '0'
}
while (num > 0) {
ans.push(num%2)
num = Math.floor(num / 2)
}
return ans.reverse().join('')
}
2進数から10進数
function binToInt(str) {
let nums = str.split("").map(Number).reverse()
let ans = 0
for (let i = 0; i < nums.length; i++) {
ans += (2 ** i) * nums[i]
}
return ans
}
テスト
const max = 10e5
for (let i = 0; i < max; i++) {
console.log(i)
if (intToBin(i) !== i.toString(2)) {
console.log("error:1")
break
}
let bin = i.toString(2)
if (binToInt(bin) !== parseInt(bin, 2)) {
console.log("error:2")
break
}
}
10^5 までは問題なく動きました。
Recommends
New Posts
Hot posts!
Tags
Author