下面的代码是从国际象棋程序中摘取的,我想确认一下:下面的((i and 7)<>0,7转为二进制数111,那i的取值是不是9-15?color:array [0..63] of integer;var
    i: Integer;
begin       for i:=0 to 63 do
    begin
        if((i and 7)<>0)and(color[i-9]=DARK) then
         gen_push(i,i-9,17);// 将一个走法存到move stack中去;                    ...另外,像这样的条件判断还有很多,我就是不明白,这样判断起个什么作用?为什么要这样判断呢?谢谢如:
if((i and 7)<>7) and (color[i-7]=DARK) then
                        gen_push(i,i-7,17);
 if((bits and 16)<>0) then