読者です 読者をやめる 読者になる 読者になる

C++14 2進数リテラル

C++

N3472 Binary Literals in the C++ Core Language


C++14から、2進数リテラルが言語組み込みで導入されることが決まりました。
0bもしくは0Bというプレフィックスを付けたあとに、0か1のシーケンスを記述します。

int x = 0b1100; // x == 12

提案されている仕様を見る限りでは、0b0Bに違いはないようです。


2進数リテラルはまだコア言語側だけが決まった段階で、IOStreamライブラリでのフォーマットについてはまだ何も決まっていないようです。


GCCでは、4.3から言語拡張としてすでに実装されていて、4.9からC++14の機能として導入される予定です。
Clangでも3.2段階ですでに実装されているようです(対応状況にYesとしか書いてないので、どこから対応してるかは不明)。