Информатика, вопрос задал innessabest , 7 лет назад

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

Ответы на вопрос

Ответил GROOVYBOI
0

#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;

}


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