Оказывается гугл неплохо переводит C#->RUS.
Оригинал:
public static void Remainder(ref uint[] lhs, uint[] rhs)
{
      if (null == lhs)
          throw new ArgumentNullException("lhs");
      if (null == rhs)
          throw new ArgumentNullException("rhs");
      int lhsBitsCount = GetBitsCount(lhs);
      int rhsBitsCount = GetBitsCount(rhs);
      if (0 == rhsBitsCount)
          throw new ArgumentOutOfRangeException("rhs");
      int shift = lhsBitsCount - rhsBitsCount;
      uint[] temp = Shift(rhs, shift);
      if (Compare(lhs, temp) < 0)
          ShiftRight(ref temp);
      while (Compare(lhs, rhs) > 0)
      {
          while (Compare(lhs, temp) > 0)
              Sub(ref lhs, temp);
          lhsBitsCount = GetBitsCount(lhs);
          shift = lhsBitsCount - rhsBitsCount;
          temp = Shift(rhs, shift);
          if (Compare(lhs, temp) < 0)
              ShiftRight(ref temp);
      }
} | 
Перевод:
общественности статической вакуум Остаток (реф UINT [] левая, UINT [] гЬз)
(
      если (нулевой == левая)
          проливают новый ArgumentNullException ("левая");
      если (нулевой == гЬз)
          проливают новый ArgumentNullException ("правая");
      Int lhsBitsCount = GetBitsCount (левая);
      Int rhsBitsCount = GetBitsCount (ОРЗ);
      если (0 == rhsBitsCount)
          проливают новый ArgumentOutOfRangeException ("правая");
      Int смену = lhsBitsCount - rhsBitsCount;
      UINT [] = Темп Shift (правая, смену);
      если (ср. (левая, температура) <0)
          ShiftRight (реф температура);
      а (ср. (левая, правая)> 0)
      (
          а (ср. (левая, температура)> 0)
              Sub (ссылка левая, температура);
          lhsBitsCount = GetBitsCount (левая);
          сдвиг = lhsBitsCount - rhsBitsCount;
          Темп = Shift (правая, смену);
          если (ср. (левая, температура) <0)
              ShiftRight (реф температура);
      )
) |