たとえば組み込みで,2進数っぽい文法で数値を扱いたいときがある.ドットマトリクスに顔文字アイコンを表示させるときに set_icon_data( 0x0a, // 1 1 0x0a, // 1 1 0x00, // 0x11, // 1 1 0x0e // 111 ); みたいにベタ書きなのはあまりにも悲しい.顔文字をコードで直接記述したい!でもC/C++は2進表記を直接サポートしない.じゃあどうするか. コンパイラの拡張構文を使う コンパイラによっては"0b00100000"みたいなリテラルで2進数を扱える場合もある.4.3以降のgccでもそう. set_icon_data( 0b01010, 0b01010, 0b00000, 0b10001, 0b01110 ); マクロでbinary literal風事前定義 2進数表記のようなマクロを事前に定義しておく.数が多いなら機械的に生成し