Professional Documents
Culture Documents
LTHT Lab01 Manipulating Bits
LTHT Lab01 Manipulating Bits
int i;
printf("\n");
}
By gi chng ta cng nhau gii bi mu u tin:
2.1.1 boolean bitAnd(x,y)
Thc thi x & y ch dng ton th | v ~ v M
axOptions l 8(ti a s dng 8 ton t)
Ta p dng nh lut De Morgan nh sau: x&y = (~(~x|~y))
Vy code chng ta vit nh sau:
bool bitAnd(int x, int y)
{
bool result;
// theo dinh ly De Morgan ta co: x&y = (~(~(x&y))) mat khac (~(x&y))= (~x|~y). suy ra: x & y = ~(~x|~y)
result = (~(~x|~y));
return result;
}
y l php logic nn kt qu tr v l kiu Bool(True/False), hiu r hn cc bit so
snh vi nhau nh th no, gi tr ra sao ta dng hm PrintBits:
PrintBits(~x);
PrintBits(~y);
PrintBits(~x|~y);
PrintBits(~(~x|~y));
// theo dinh ly De Morgan ta co: x&y = (~(~(x&y))) mat khac (~(x&y))= (~x|~y). suy ra: x & y = ~(~x|~y)
result = (~(~x|~y));
return result;
}
Quan st mn hnh kt qu cho tng giai on hiu r hn, lung bits d liu thay i
nh th no. Sinh vin tip tc gii cc bi tp cn li.