#include #define MAX 8 void printbit(unsigned char matrix); void printbitrev(unsigned char matrix); /* --- 滅入ん --- */ void main () { int i; unsigned char matrix[MAX] = { 0xC3, 0x66, 0x3C, 0x18, 0x18, 0x18, 0x18, 0x18 }; for (i = 0; i < MAX; i++) { printbit(matrix[i]); printbitrev(matrix[i]); putchar('\n'); } } void printbit(unsigned char matrix) { int i; unsigned char mask = 0x80; /* 最上位 bit をマスク用 */ for (i = 0; i < 8; i++) { putchar(matrix & mask ? '*' : ' '); mask >>= 1; } } void printbitrev(unsigned char matrix) { int i; unsigned char mask = 0x80; /* 最上位 bit をマスク用 */ matrix ^= 0xFF; /* XOR で bit 反転 */ for (i = 0; i < 8; i++) { putchar(matrix & mask ? '*' : ' '); mask >>= 1; } }