1. C# / Говнокод #10929

    +127

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    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, 12 Июня 2012

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

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

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

              https://cs5.pikabu.ru/images/big_size_comm/2014-12_5/14192391545598.jpg
              Ответить
        • В качестве управжнений для изучения оснований -- вполне ок
          на практике конечно нужно брать готовое решение
          Ответить

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