可能な進数表記
C言語では通常使う10進数の他に2、8、16進数表記を用いることが可能です。
表のように、数の先頭に接頭辞をつけます。
2進数 | 0b |
8進数 | 0 |
16進数 | 0x |
以下がサンプルコードです。
binaly_sample1.c
#include <stdio.h> int main(void) { printf("%d\n", 255); printf("%d\n", 0b11111111); printf("%d\n", 0377); printf("%d\n", 0xff); return 0; }
上から10、2、8、16進数で10進数255を表しています。
以下のように表記の異なる演算も可能です。
binaly_sample2.c
#include <stdio.h> int main(void) { printf("%d\n", 256 + 0b100000000 + 0400 + 0x100); return 0; }
また、printf()で進数表記を変更する場合は以下のようにします。
binaly_sample3.c
#include <stdio.h> int main(void) { printf("%d\n", 256); printf("%o\n", 256); printf("%x\n", 256); return 0; }
上から10、8、16進数表記になります。
2進数表記はありません。自分で2進数表記する関数を作ってみましょう。
ビット演算
論理和、論理積などのビット演算もサポートしています。
詳しくはビット演算子を参照してください。