--- trunk/doc/exact_match.txt 2004/04/04 20:48:56 299 +++ trunk/doc/exact_match.txt 2004/04/04 21:04:47 300 @@ -30,18 +30,22 @@ What are bit-masks? -Bit-mask is usage of one byte (8 bits) as 8 separate bits with it's own meaning. -So, 1 = 2^1, thus it's bit 1. So, for 1-3 we have: +Bit-mask is usage of one byte (8 bits) as 8 separate bits with it's own +meaning (this is simplification, but bear with me for now). + +So, 1 = 2^0, thus it's bit 1. With analogy, 2=2^1 and 3=2^0+2^1. +So, for 1-3 we use two bits and have: number bits -1 01 -2 10 -3 11 +1 01 (just begin bit set) +2 10 (just end bit set) +3 11 (begin and end bit set) -For that we are using two bits. If we want to produce wild-card match, we use -bit 3 (2^3 = 4) so we have: +Thus, with two bits (and values 1-3) we can express should we exact match from +beginning, end or both. For wild-card match, we use additional bit 3 (2^3 = 4) +so we have: -number bits +number bits exact match 1 001 begin 2 010 end 3 011 begin+end @@ -49,3 +53,4 @@ 5 101 (4+1) begin+wild-card 6 110 (4+2) end+wild-card 7 111 (4+3) begin+end+wild-card +