1. ホーム
  2. javascript

[解決済み] Javascriptで2進数を表すのに "0b "などの表現はありますか?

2022-04-23 10:57:46

質問

私は、以下のことを知っています。 0x は、Javascriptで16進数を表す接頭語です。例えば 0xFF は数字の255を表します。

2進数にも同じようなものがあるのでしょうか?私なら 0b1111 を表現するために、数値の 15 しかし、これではうまくいきません。

解決方法は?

更新してください。

新しいバージョンのJavaScript、特にECMAScript 6は、バイナリ(接頭辞の 0b )、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進数(接頭辞あり)、2進数(接頭辞なし)のみサポートしています。 0x と8進数(接頭辞 0 )形式を使用します。

代替案として、バイナリ文字列を parseInt メソッドに基数を指定します。

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