while(i >= 0){
tmp2 = (*(song + i)) + tmp2 + (tmp2 << (i%2 + 4));
i--;
}我是这样转的:
While (i >= 0) do
  Begin
  tmp2 := //这里该如何?;
  Dec(i);
  end;