Programiranje u C-u

  

OPERACIJE S BITOVIMA
C ima mogućnost direktnog manipuliranja  bitovima, a dozvoljene operacije su,
 

Operacije Operator Komentar Vrijednost sume prije Vrijednost sume poslije
AND (log. I) & sum = sum & 2; 4 0
OR (log. ILI) | sum = sum | 2; 4 6
Exclusive OR (ekskluzivno ILI) ^ sum = sum ^ 2; 4 6
1's Complement (komplement) ~ sum = ~sum; 4 -5
Left Shift (pomak ulijevo) << sum = sum << 2; 4 16
Right Shift (pomak udesno) >> sum = sum >> 2; 4 0

        /* Primjer programa sa  << and >> */
        #include <stdio.h>

        main()
        {
                int  n1 = 10, n2 = 20, i = 0;
                i = n2 << 4;  /* n2 se pomiče ulijevo 4 puta */
                printf("%d\n", i);
                i = n1 >> 5;  /* n1 se pomiče udesno 5 puta */
                printf("%d\n", i);
        }

        Ispis programa
        320

        0









        /* Primjer programa koji koristi EOR operator  */         #include <stdio.h>         main()         {                int  value1 = 2, value2 = 4;                 value1 ^= value2;                 value2 ^= value1;                 value1 ^= value2;                 printf("Value1 = %d, Value2 = %d\n", value1, value2);         }        Ispis programa          Value1 = 4, Value2 = 2
        /* Primjer programa koji koristi AND operator  */         #include <stdio.h>         main()         {                 int  loop;                 for( loop = 'a'; loop <= 'f'; loop++ )                         printf("Loop = %c, AND 0xdf = %c\n", loop, loop & 0xdf);         }         Ispis programa         Loop = a, AND 0xdf = A         Loop = b, AND 0xdf = B         Loop = c, AND 0xdf = C         Loop = d, AND 0xdf = D         Loop = e, AND 0xdf = E         Loop = f, AND 0xdf = F

© Copyright B Brown. 1984-1998. All rights reserved.