Javascript では が 16 進数のプレフィックスであることは知っています0x
。たとえば、0xFF
は 255 という数字を表します。
0b1111
2 進数にも同様のものがありますか?数値を表現できると期待しています15
が、うまくいきません。
ベストアンサー1
アップデート:
0b
JavaScript の新しいバージョン (具体的には 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