profile
Опубликовано 6 лет назад по предмету Информатика от innessabest

Написать две функции: одна из которых осуществляет перевод из десятичной системы исчисления в двоичную, а вторая - наоборот.
На языке С

  1. Ответ
    Ответ дан GROOVYBOI

    #include <iostream>

    #include <string>

    using namespace std;

    string dectobin(int num) // функция для перевода

    {

    string result; // строка для результата

    for (; num!=0; num>>=1) // цикл со сдвигом вправо на 1 бит (работает быстрее чем деление на 2,

    //но также делит)

    result.insert(0, num&1 ? "1" : "0"); // вставка цифры в начало строки (1 если последний бит 1, 0 если 0)

    return result; // возврат результата

    }

    int main(int argc, char *argv[])

    {

    // тут думаю понятно, ввод данных и вызов функции

    int num;

    cout<<"Enter number: ";

    cin>>num;

    cout<<dectobin(num);

    return 0;

    }


    1. Ответ
      Ответ дан CSharper
      Это не С, а С++
    2. Ответ
      Ответ дан ragoon
      В старом добром языке С была функция sprintf, описание здесь: http://www.c-cpp.ru/content/sprintf Ей достаточно задать формат вывода, двоичный или десятичный.
Самые новые вопросы