16進数, 10進数, 2進数を相互に変換するツールです
このページでは JavaScript を利用して基数を変換している。JavaScript では parseInt 及び toString を利用することで基数の変換を行う事ができる。
10進数の数値を指定した基数で表示する際には toString の第一引数に表示したい基数を渡す。
var i = 334;
console.log(i.toString(16)); // 14e と表示
任意の基数の数値を一〇進数で読み込む場合には parseInt の第二引数に基数を指定する。
console.log(parseInt('101001110',2)); // 334 と表示
しかし float を読み込む parseFloat には基数を指定する機能が無いため、独自に実装する必要がある。
このページでは Stackoverflow にあった以下のコードを利用している。
function parseFloat(string, radix) {
string = string.split(/\./);
if (string[0] == '') {
string[0] = "0";
}
if (string.length > 1 && string[1] != '') {
var fractionLength = string[1].length;
string[1] = parseInt(string[1], radix);
string[1] *= Math.pow(radix, -fractionLength);
return parseInt(string[0], radix) + string[1];
}
return parseInt(string[0], radix);
}
numbers - Converting hexadecimal to float in javascript - Stack Overflow
これにより float であっても基数を指定して読み込むことができる。
console.log(parseFloat('21.666666666666', 16)); // 33.4 と表示
ツール一覧