Си диез / Говнокод #10929 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
static char[] decToBin(int n)
{
    byte size = sizeof(int) * 8;
    char[] result = new char[size];

    for (int i = 0; i < size; i++) 
    {
        result[size - i - 1] = (((n >> i) & 1).ToString().ToCharArray()[0]);
    }
    return result;
}

Плохо пахнущий транслятор непосредственно в дополнительный код.

Запостил: vistefan vistefan, (Updated )

Комментарии (7) RSS

  • после & 1 дальнейшие строковые манипуляции выглядят обескураживающе.
    значит-с, сдвиги и битовые операции знаем, а нолик или единичку получить не желаем, да?
    Ответить
    • В шарпе кстати кошерно будет ((n >> i) & 1) ? '1' : '0'? Или там есть способы попроще?

      P.S. Вот хотя всяко там есть toString с указанием основания, и вся эта функция никому не нужна...
      Ответить
    • Да скорее всего взяли какой-то сишный пример и тупо портировали, добавив танцы с бубном над приведением типов...
      Ответить

Добавить комментарий

Переведи на "PHP", guest!

    А не использовать ли нам bbcode?


    8