#include <stdio.h>
//representa uma valor decimal em binĂ¡rio com 4 bits
void print_binary(unsigned n) {
unsigned i;
for (i = 1 << 3; i > 0; i = i >> 1)
}
int main() {
short a = 5; // 0101
short b = 1; // 0001
printf("a = %d, b = %d\n", a
, b
); print_binary(a);
print_binary(b);
printf("\n a&b = %d - ", a
& b
); print_binary(a&b); // 0001
printf("\n a|b = %d - ", a
| b
); print_binary(a|b); // 0101
printf("\n a^b = %d - ", a
^ b
); print_binary(a^b); // 0100
print_binary(~a); // 1010
print_binary(~b); // 1010
printf("\n a<<1 = %d - ", a
<< 1); print_binary(a << 1); // 10 1010
printf("\n a>>1 = %d - ", a
>> 1); print_binary(a>>1); // 2 0010
printf("\n b<<2 = %d - ", b
<< 2); print_binary(b<<2); // 4 0100
printf("\n b>>2 = %d - ", b
>> 2); print_binary(b>>2); // 0 0000
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgovL3JlcHJlc2VudGEgdW1hIHZhbG9yIGRlY2ltYWwgZW0gYmluw6FyaW8gY29tIDQgYml0cwp2b2lkIHByaW50X2JpbmFyeSh1bnNpZ25lZCBuKSB7CiAgICB1bnNpZ25lZCBpOwogICAgZm9yIChpID0gMSA8PCAzOyBpID4gMDsgaSA9IGkgPj4gMSkKICAgICAgICAobiAmIGkpID8gcHJpbnRmKCIxIikgOiBwcmludGYoIjAiKTsKfQoKCmludCBtYWluKCkgewogICBzaG9ydCBhID0gNTsgICAgICAvLyAwMTAxCiAgIHNob3J0IGIgPSAxOyAgICAgIC8vIDAwMDEKCiAgIHByaW50ZigiYSA9ICVkLCBiID0gJWRcbiIsIGEsIGIpOwogICBwcmludF9iaW5hcnkoYSk7CiAgIHByaW50ZigiIGUgIik7CiAgIHByaW50X2JpbmFyeShiKTsKCiAgIHByaW50ZigiXG4gYSZiID0gJWQgLSAiLCBhICYgYik7CiAgIHByaW50X2JpbmFyeShhJmIpOyAvLyAwMDAxCgogICBwcmludGYoIlxuIGF8YiA9ICVkIC0gIiwgYSB8IGIpOwogICBwcmludF9iaW5hcnkoYXxiKTsgLy8gMDEwMQoKICAgcHJpbnRmKCJcbiBhXmIgPSAlZCAtICIsIGEgXiBiKTsKICAgcHJpbnRfYmluYXJ5KGFeYik7IC8vIDAxMDAKCiAgIHByaW50ZigiXG4gfmEgPSAlZCAtICIsIH5hKTsKICAgcHJpbnRfYmluYXJ5KH5hKTsgLy8gMTAxMAogICAKICAgcHJpbnRmKCJcbiB+YiA9ICVkIC0gIiwgfmIpOwogICBwcmludF9iaW5hcnkofmIpOyAvLyAxMDEwCgogICBwcmludGYoIlxuIGE8PDEgPSAlZCAtICIsIGEgPDwgMSk7CiAgIHByaW50X2JpbmFyeShhIDw8IDEpOyAvLyAxMCAxMDEwCgogICBwcmludGYoIlxuIGE+PjEgPSAlZCAtICIsIGEgPj4gMSk7CiAgIHByaW50X2JpbmFyeShhPj4xKTsgLy8gMiAwMDEwCgogICBwcmludGYoIlxuIGI8PDIgPSAlZCAtICIsIGIgPDwgMik7CiAgIHByaW50X2JpbmFyeShiPDwyKTsgLy8gNCAwMTAwCgogICBwcmludGYoIlxuIGI+PjIgPSAlZCAtICIsIGIgPj4gMik7CiAgIHByaW50X2JpbmFyeShiPj4yKTsgLy8gMCAwMDAwCn0=