Javascript で 2 進数を表す「0b」またはそれに類似するものはありますか? 質問する

Javascript で 2 進数を表す「0b」またはそれに類似するものはありますか? 質問する

Javascript では が 16 進数のプレフィックスであることは知っています0x。たとえば、0xFFは 255 という数字を表します。

0b11112 進数にも同様のものがありますか?数値を表現できると期待しています15が、うまくいきません。

ベストアンサー1

アップデート:

0bJavaScript の新しいバージョン (具体的には ECMAScript 6) では、2 進数 (プレフィックス)、8 進数 (プレフィックス0o)、16 進数 (プレフィックス: 0x) の数値リテラルのサポートが追加されました。

var bin = 0b1111;    // bin will be set to 15
var oct = 0o17;      // oct will be set to 15
var oxx = 017;       // oxx will be set to 15
var hex = 0xF;       // hex will be set to 15
// note: bB oO xX are all valid

この機能は Firefox と Chrome ではすでに利用可能です。現在 IE ではサポートされていませんが、Spartan がリリースされるとサポートされる予定です。

(感謝セミコロンのコメントとurishの回答これを指摘していただきありがとうございます。

元の回答:

いいえ、2 進数に相当するものはありません。JavaScript は、10 進数 (プレフィックスなし)、16 進数 (プレフィックス0x)、8 進数 (プレフィックス0) 形式の数値リテラルのみをサポートしています。

parseInt代替案として、基数とともにバイナリ文字列をメソッドに渡すこともできます。

var foo = parseInt('1111', 2);    // foo will be set to 15

おすすめ記事