1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| #define BYTETOBINARYPATTERN "%d%d%d%d%d%d%d%d"
#define BYTETOBINARY(byte) \
(byte & 0x80 ? 1 : 0), \
(byte & 0x40 ? 1 : 0), \
(byte & 0x20 ? 1 : 0), \
(byte & 0x10 ? 1 : 0), \
(byte & 0x08 ? 1 : 0), \
(byte & 0x04 ? 1 : 0), \
(byte & 0x02 ? 1 : 0), \
(byte & 0x01 ? 1 : 0)
int main(int argc, char* argv[])
{
unsigned char a = 38; // 00100110
unsigned char b = 15; // 00001111
unsigned char c = (a | b);
printf("a: "BYTETOBINARYPATTERN" (%d)\nb: "BYTETOBINARYPATTERN" (%d)\na | b: "BYTETOBINARYPATTERN" (%d)\n", BYTETOBINARY(a), a, BYTETOBINARY(b), b, BYTETOBINARY(c), c);
return 0;
} |
Partager