JavaScriptで数値をn進法で表現する

Pocket

自分用メモ。しょぼい話。
数値を2進法とか16進法とかで表現したいときにべんり。(冪乗を効率的に計算する場合に、指数を2進法で表現したくなったりするのだ)

const i = 256;
console.log(i.toString(2)); // 100000000
console.log(i.toString(16)); // 100
const j = -5;
console.log(j.toString(2)); // -101

Number.prototype.toString() – JavaScript | MDNによると、引数は基数を指定すれば良く、2〜36の整数が許容されるらしい。
気をつけるべきは、負数を2進法で表現しようとした場合は、補数表現ではなく、先頭に-符号がついた正の表現が返される(-5は補数表現するなら8ビットの場合は11111011とかになるはず)。それと、戻りは当然ながらstring(typeof(i.toString(2))stringになる)なので、場合によっては気をつけるべきかも?

お茶漬け

たまーに飲み屋で食べるお茶漬けめちゃウマい

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です