> -- Alexey Veselovsky писал(а):
> Абсолютно то же самое могу сказать о вашем коде...И какой смысл говорить о моём коде, когда я предложил сравнить алгоритмы. Разные алгоритмы для решения одной задачи. Вы могли перевести мой код на Си (я думал это и в уме можно), отформатировать как Вам нравится, и сравнивать.## Код:
```
// ctable = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="
void Encode (const unsigned char *x, unsigned char *y, int &p, int &q, int len)
{
   int t, n;
   assert(len >= 0);
   n = len / 3;
   while (n > 0) {
      /* Encode24bit */
      t = x[p + 2] + (x[p + 1] << 8) + (x[p] << 16);
      p += 3;
      y[q++] = ctable[t >> 18];
      y[q++] = ctable[(t >> 12) & 0x3F];
      y[q++] = ctable[(t >> 6) & 0x3F];
      y[q++] = ctable[t & 0x3F];
      --n;
   }
   switch (len % 3) {
   case 0:
      break;
   case 1:   /* Encode8bit */
      t = 0 + (0 << 8) + (x[p] << 16);
      ++p;
      y[q++] = ctable[t >> 18];
      y[q++] = ctable[(t >> 12) & 0x3F];
      y[q++] = ctable[64];
      y[q++] = ctable[64];
      break;
   case 2:   /* Encode16bit */
      t = 0 + (x[p + 1] << 8) + (x[p] << 16);
      p += 2;
      y[q++] = ctable[t >> 18];
      y[q++] = ctable[(t >> 12) & 0x3F];
      y[q++] = ctable[(t >> 6) & 0x3F];
      y[q++] = ctable[64];
      break;
   }
}
```
Хотелось бы услышать мнения касательно сложности проверки соответствия алгоритмов стандарту (но не придирки к переводу кода).