/* */ /* 数値の演算 */ /* */ #include void main(void) { int i = 10; printf("%d\n", i + 1); printf("%d\n", i - 2); printf("%d\n", i * 3); printf("%d\n", i / 4); printf("%d\n", i % 5); // iを5で割った余りを表示する。 printf("%d\n", i++); // iを表示した後、iに1を足している。 printf("%d\n", i--); // 上記と同じ動作。 printf("%d\n", --i); // iから1を引き、そのまま表示する。 i = 0x23; printf("%x\n", i & 0x11); // %x(符号なし16進数。"abcdef"を使用) // &(論理積:AND) // 00100011 AND 00010001 = 00000001 // (両方1なら1、他は0) printf("%x\n", i | 0x11); // |(論理和:OR) // 00100011 OR 00010001 = 00110011 // (片方が1なら1、他は0) printf("%x\n", i ^ 0x11); // ^(排他的論理和:XOR) // 00110010 XOR 00010001 = 00110010 // (両方違えば1、00や11は0) printf("%x\n", ~i); // ~(アドレス反転:NOT) // NOT00100011=11011100 // (1→0、0→1に反転する。) }