Hah, jeste!
Evo šta sam uradio "na papiru" (na kompu uz windowsov calculator)
000000001000 = 8
000000110100 = maska
000000111100 = 60 (posle XORovanja)
A moj program:
Kôd:
#include <stdio.h>
main()
{
int x, y; /* x je ulaz, y izlaz */
int maska;
while (1)
{
printf("Unesite ceo broj (0 za izlaz): ");
scanf("%d", &x);
if (x<=0)
{
break;
}
maska = ~(~(~(~0 << 2) << 1) << 1) << 2;
y = x ^ maska;
printf("Rezultat: %d\n", y);
}
}
...kad mu unesem 8 stvarno vraća 60. Super
Hvala svima!