帮忙解释段代码
constARR_T:array[0..5] of Byte=(6,0,31,63,127,255);//第一个数为数组长度,
function GetRange(n:Byte):Byte;//取得n在arr_T所在的区间,从0开始
var
len,i:Integer;
begin
len:=ARR_T[0];
for i:=2 to len-1 do
if((n>ARR_T[i-1])and(n<=ARR_T[i]))then break;
result:=Byte(i-2);
end;