/* Program demonstrira upotrebu bitovskih operatora */ #include #include /* funkcija prikazuje binarnu reprezentaciju celog broja u memoriji */ void print_bits(int x) { int size_of_int = sizeof(int) * 8; /* broj bitova celog broja */ unsigned int mask; /* maska koju cemo koristiti za "ocitavanje" bitova */ /* maska u pocetku ima postavljen bit najvece tezine, a svi ostali bitovi su nule. Nakon toga, u svakoj iteraciji se ta jedinica pomera u desno, kako bismo ocitali naredni bit, gledano s leva u desno. Odgovarajuci karakter ('0' ili '1') se ispisuje na ekranu. */ for (mask = 1 << (size_of_int - 1); mask != 0; mask >>= 1) putchar(mask & x ? '1' : '0'); putchar('\n'); } int main() { printf("0xABCDEF32 = "); print_bits(0xABCDEF32); printf("-2 = "); print_bits(-2); printf("2 = "); print_bits(2); return EXIT_SUCCESS; }