) ^ (xor) amali(ikkining moduli bo’yicha qo’shish). Birinchi sonning har bir biti ikkinchi sonning har bir biti bilan taqqoslanadi.Agar ikkita bitning qiymatlari har xil bo’lsa 1 ga, bir xil bo’lsa 0
2) ^ (xor) amali(ikkining moduli bo’yicha qo’shish). Birinchi sonning har bir biti ikkinchi sonning har bir biti bilan taqqoslanadi.Agar ikkita bitning qiymatlari har xil bo’lsa 1 ga, bir xil bo’lsa 0 ga teng bo’ladi.
2) ^ (xor) amali(ikkining moduli bo’yicha qo’shish). Birinchi sonning har bir biti ikkinchi sonning har bir biti bilan taqqoslanadi.Agar ikkita bitning qiymatlari har xil bo’lsa 1 ga, bir xil bo’lsa 0 ga teng bo’ladi.
0 | 0 =0; 0 ^ 1 = 1; 1 ^ 0 = 1; 1 ^ 1 =0;
Masalan:
45078 = 01011000000010110
^
78574 = 10011001011101110
99064 = 11000001011111000
Yozilishi: (45078 ^ 78574 );
Sonning i-bitining qiymatini aniqlash
Sonning i-bitining qiymatini aniqlash uchun unin 2i bilan & amlini hisoblaymiz.
Masalan 78574 =10011001011101110 ning 3-bitini aniqlash uchun
10011001011101110
& =00000000000001000
00000000000001000
4-bitini aniqlash uchun
10011001011101110
& =00000000000000000
00000000000010000
If ((mask & (1
<< i)) != 0)
If ((mask & (1 << i)) != 0)
i-bit birga teng;
else
i-bit nolga teng;
i-bitini o’zgartirish.0 bo’lsa 1 ga, 1 bo’lsa 0 ga.
i-bitini o’zgartirish uchun (1 << i) bilan ^ (xor) amali bajaramiz;
3-bitini aniqlash uchun
10011001011101110
^ = 10011001011100110
00000000000001000
4-bitini o’zgartirganda
10011001011101110
^ = 10011001011111110
00000000000010000
i-bitini 1 ga aylantirish.(0 bo’lsa 1 ga aylantirish, 1 bo’lsa oz’ratirishsiz qoldirish).
i-bitini 1 ga aylantirish.(0 bo’lsa 1 ga aylantirish, 1 bo’lsa oz’ratirishsiz qoldirish).
(mask | (1 << i)).
Ikkilik perebor.
Ikkilik pereborda eng ko’p qo’llaniladigan pereborlardan biri xisoblanadi. Bizga n ta buyum berilgan. Ulardan har birining og’irlin W[i] massiv ko’rinishida berilgan. Undan shunday buyumlarni olish kerakki, ularning og’irliklari yig’indisi berilgan S soniga teng bo’lsin(1≤n≤20).