n進数への変換
JavaScriptでは、私たちが日常で使っている10進数を、2進数や16進数などへ変換したり、その逆にそれらを10進数に変換することができます。
10進数からn進数への変換
10進数からn進数へ変換したいときにはtoString()関数を使います。
toString()関数は数値オブジェクトを指定された基数に変換して文字列として返してくれます。具体的には「数値オブヘクト.toString(基数)」の形で使用します。基数には2〜36までの整数を指定することができます。
コード例
let num = 123;
//2進数に変換(結果:1111011)
console.log(num.toString(2));
//8進数に変換(結果:173)
console.log(num.toString(8));
//16進数に変換(結果:7b)
console.log(num.toString(16));
//32進数に変換(結果:3r)
console.log(num.toString(32));
//10進数を文字列として表示(結果:123)
console.log(num.toString());
n進数から10進数への変換
n進数から10進数へ変換するには、parseInt()関数を使います。
parseInt()関数は、文字列を10進数の数値として返してくれるもので、第一引数には変換したい文字列、第二引数には第一引数に指定した文字列を何進数として解釈するかを指定します。第二引数の基数には2〜36までの整数を指定することができます。
コード例
//表示結果はすべて「123」
//2進数の文字列を10進数の数値へ変換して表示
let num2 = '01111011';
console.log(parseInt(num2, 2));
//8進数の文字列を10進数の数値へ変換して表示
let num8 = '173';
console.log(parseInt(num8, 8));
//16進数の文字列を10進数の数値へ変換して表示
let num16 = '7b';
console.log(parseInt(num16, 16));
//32進数の文字列を10進数の数値へ変換して表示
let num32 = '3r';
console.log(parseInt(num32, 32));
//10進数の文字列を10進数の数値へ変換して表示
let num10 = '123';
console.log(parseInt(num10, 10));