Professional Documents
Culture Documents
Chuyn x l Bit
Nh ta bit, mi s t nhin u c th biu din c di dng
nh phn.
V d
13 : 1101
42: 101010
Byte: c di 8 bit.
vy cho n ht.
Php o bit
(NOT)
Php loi tr
bit (XOR)
Kt qu l 0
nhau
Kt qu l 1
nhauVd:
(00101010)x1
1/Ly gi tr bit:
Cho bit bit th k ca bin x nhn gi tr 0 hay 1.
Function GetBit(k,x:Word):Byte;
Begin
GetBit := (x Shr (k-1)) and 1;
End;
2/Gn gi tr bit :
gn gi tr c cho bit th k ca bin x.
Procedure SetBit(c:byte; k:Word; var
Begin
If c = 1 then
x := x or (1 shl(k-1))
Else x := x and (not (1 shl (k-1)));
End;
x:
Word);
x =
x = 13
u im ca x l bit:
V b nh:
Lit k tp hp con
00001
00010
11110 = 2n 2
11111 = 2n 1
Cho nn ta c mt thut ton c th sau: Duyt bin x chy t 0 n
2n 1. Vi mi gi tr x, xut ra tp con da vo dy bit ca n.
Bi ton:
S c bit(SNUM)
SNUM.INP
5
12345
9876
12345
145
9876
SNUM.OUT
145
Gi :
Cch th nht: Xp N s t nhin ny ln N v dn cc s ny v pha
bn phi, theo
1
2
3
9
8
7
1
2
3
1
4
5
9
8
7
vd trn ta c bng s:
4
5
6
4
5
6
Ta c s c bit : 145.
Ta c mt thut ton c th nh sau: Dng mng 610 phn t lu
thng tin
xut hin ca cc ch s t 0 n 9 cc ct t 1 n 6 (do cc s
c gi tr trong on
Bn c th (CHESSCBG)
cho hai th c 1 v 2,
hy tm mt s t nht bc di chuyn qun chuyn t th 1 sang
th 2; mt bc di
chuyn qun l mt ln chuyn qun c sang trng k cnh vi
qun c ang ng.
D liu: CHESSCBG.INP
CHESSCBG.OUT
Luyn tp:
Bi ton:
Tm dng c bit(SLINE)
Yu cu:
D liu: SLINE.INP
Ghi cc dng thng tin v kt thc tp bi dng gm 3 k t ###
Kt qu: SLINE.OUT
Ghi ra dng c bit tm c.
V d:
SLINE.INP
-How are you?
-Im fine
-How are you?
-My name is PCM
-Im fine###
SLINE.OUT
-My name is PCM