C言語:2進数表記マクロ

C言語はアセンブラに近いにもかかわらず、なぜか2進表記ができません。ハードウェアに近いところを触っているときは、特に思います。

unsigned char a = 01000101B;

のような記述がなぜできないのか!と思ったのは私だけではないでしょう。独自の拡張をしているコンパイラもあるようです。

しかし、いまや、2進数表記マクロを作ることができます。

コンパイラの条件は、
・long型が32ビットであること。
・プリプロセッサに文字列連結演算子 ## があること。

(2000年頃の記事)

“C言語:2進数表記マクロ” への1件の返信

  1. 2進数化は自分も困っていたところです。
    ドットマトリクス制御で、LEDの点灯パターンをデータ化したかったので、大変参考になりました。
    ありがとうございました。

コメントは受け付けていません。