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!
Date
Tags
(110)
(54)
(54)
(47)
(45)
(36)
(30)
(29)
(24)
(24)
(22)
(21)
(21)
(20)
(19)
(17)
(16)
(16)
(15)
(14)
(12)
(12)
(12)
(12)
(12)
(12)
(11)
(10)
(10)
(10)
(10)
(10)
(9)
(9)
(8)
(8)
(8)
(8)
(7)
(7)
(6)
(6)
(6)
(6)
(6)
(5)
(5)
(5)
(5)
(4)
Author