**1. Feladat**: Mi lesz **a** és **b** értéke?
#include
int main()
{
int a = 1;
int b;
b = a++;
printf("b = %d a = %d", b, a);
}
**2. Feladat:** Mi lesz a és b értéke, ha a **++** operátor az **a** változó előtt áll?
#include
int main()
{
int a = 1;
int b;
b = ++a;
printf("b = %d a = %d", b, a);
}
**3. Feladat:** Mi lesz a **k** változó értéke?
#include
int main()
{
int i = 1, k = 2;
int e;
k *= -i-- * ++k;
printf("k = %d", k);
}
**4.a Feladat:** Mi lesz az **e** változó értéke?
#include
int main()
{
int a = 1, b = 2, c = 3, d = 4;
int e;
e = !( a <= b && !(c == d));
printf("e = %d", e);
}
**4.b Feladat:** Mi lesz az **f** változó értéke?
#include
int main()
{
int a = 5, b = 3, c = 8;
int f;
f = (a > b) || (c < a + b);
printf("f = %d", f);
}
**4.c Feladat:** Mi lesz az **z** változó értéke?
#include
int main()
{
int x = 10, y = 7;
int z;
z = (x != y) && (y <= x) || !(x - y > 3);
printf("z = %d", z);
}
**4.d Feladat:** Mi lesz az k változó értéke?
#include
int main()
{
int m = 4, n = 6;
int k;
k = !(m > n) && (m + n > 8) && (n - m == 2);
printf("k = %d", k);
}
**5. Logikai operátorok**
#include
main()
{
// a = 5(00000101)
// b = 9(00001001)
unsigned char a = 5, b = 9;
// 00000001 = 1
printf("a & b = %d\n", a & b);
// 00001101 = 13
printf("a | b = %d\n", a | b);
// 00001100 = 12
// XOR akkor 1 ha vagy az egyik, vagy a másik bit 1
printf("a ^ b = %d\n", a ^ b);
// 11111010 = 250
printf("~a = %d\n", a = ~a);
// 00010010 = 18
printf("b << 1 = %d\n", b << 1);
// 00100100 = 36
printf("b << 2 = %d\n", b << 2);
// 00000100 = 4
printf("b >> 1 = %d\n", b >> 1);
}
**6. műveletek logikai operátorokkal**
#include
int main()
{
// kapcsoljuk be egy int változó 4. bitjét
int bit = 1 << 3; // az 1.et eltoljuk hárommal balra, az eredmény: 00001000
int val = 1; // tetszőleges szam
printf("%8b\n", val | bit);
// kapcsoljuk ki egy int változó 8. bitjét
int bit2 = 1 << 7; // az 1.et eltoljuk héttel balra, az eredmény: 10000000
int val2 = 255; // tetszőleges szam
printf("%8b\n", val2 & ~bit2);
return 0;
}
**7. az XOR-os titkosítás **
#include
int main()
{
// ha egy számot XOR-ozunk egy tetszőleges számmal 2x-akkor visszakapjuk az eredeti számot
int value = 546356243;
printf("%8b\n", value);
int code = 112254534;
int encrypted = value ^ code;
printf("%8b\n", encrypted);
printf("%8b\n", encrypted ^ code);
return 0;
}