Предмет: Информатика, автор: innessabest

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


ragoon: КУДА осуществляет перевод из десятичной системы исчисления в двоичную? Что должно являться результатом работы функции?

Ответы

Автор ответа: GROOVYBOI
1

#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: Это не С, а С++
ragoon: В старом добром языке С была функция sprintf, описание здесь: http://www.c-cpp.ru/content/sprintf Ей достаточно задать формат вывода, двоичный или десятичный.
Похожие вопросы
Предмет: Математика, автор: samirab72