Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.75
tdo22
10 / 10 / 1
Регистрация: 14.02.2013
Сообщений: 728
#1

Функция перевода из десятичной в двоичную систему - C++

04.01.2015, 19:06. Просмотров 2587. Ответов 5
Метки нет (Все метки)

Здравствуйте, помогите пожалуйста написать функцию перевод из десятеричной в двоичную систему.
Результат нужно записать в переменную string
Пример:
123 = 01111011
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.01.2015, 19:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Функция перевода из десятичной в двоичную систему (C++):

Программа для перевода из десятичной системы счисления в двоичную - C++
Программа вроде работает, но почему-то выдает ошибку после вывода результата. Из за этого я не могу продолжить работать уже с переводом...

Рекурсивная процедура перевода числа из десятичной системы счисления в двоичную - C++
3) Написать рекурсивную процедуру перевода нату¬рального числа из десятичной системы счисления в двоич¬ную.

Разработка рекурсивной функции для перевода числа из десятичной сс в двоичную - C++
На уроке преподаватель не объясняет как решать. Задачи берутся из "Основы программирования на языке С++" часть 2 Огнева М.В., Кудрина Е.В....

Написать рекурсивную функцию перевода числа с десятичной системы исчисления в двоичную - C++
Здравствуйте! Нужно написать рекурсивную функцию перевода числа с десятичной системы исчисления в двоичную. Примерно знаю как...

Разработать программу перевода вещественных чисел из десятичной системы счисления в двоичную - C++
Помогите пожалуйста написать программу.Разработать программу перевода вещественных чисел из десятичной системы счисления в двоичную.

Перевод с десятичной в двоичную систему - C++
Здравствуйте,нужно написать програму (только чистый Borland C), которая переводит числа из десятичных в двоичные..!

5
zss
Модератор
Эксперт С++
6531 / 6093 / 2007
Регистрация: 18.12.2011
Сообщений: 15,845
Завершенные тесты: 1
04.01.2015, 19:13 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <sstream>
int main()
{
    std::string str("123");
    std::stringstream is(str); // строковый поток из строки str
    int n;
    is>>n; // преобразование десятичной строки в двоичное целое
    std::cout.unsetf(std::ios::dec); // запретили десятичный вывод
    std::cout.setf(std::ios::hex); // разрешили 16-ичный вывод
    std::cout<<n; // выводим двоичное число в hex виде, получим 7B (0111 1011)
    system("pause");
    return 0;
}
1
tdo22
10 / 10 / 1
Регистрация: 14.02.2013
Сообщений: 728
04.01.2015, 19:27  [ТС] #3
zss, в этом коде нету перевода в двоичную СС

Добавлено через 4 минуты
не переводит...

Добавлено через 4 минуты
но это hex, а мне нужно в двоичном виде
0
zss
Модератор
Эксперт С++
6531 / 6093 / 2007
Регистрация: 18.12.2011
Сообщений: 15,845
Завершенные тесты: 1
04.01.2015, 19:33 #4
Ну, уж добавить двоичный вывод проблем не составляет
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
#include <sstream>
void binaryOutput(int n)
{
    for(int i=0;i<sizeof(int)*8;i++)
    {
        if(n & 0x80000000)
            std::cout<<'1';
        else
            std::cout<<'0';
        n<<=1;
    }
    std::cout<<std::endl;
}
int main()
{
    std::string str("123");
    std::stringstream is(str);
    int n;
    is>>n;
    binaryOutput(n);
    system("pause");
    return 0;
}
0
Catstail
Модератор
22834 / 11200 / 1812
Регистрация: 12.02.2012
Сообщений: 18,438
04.01.2015, 20:02 #5
В любую систему от двоичной, до 9-ричной:

C
1
2
3
4
5
6
7
8
9
/* rTo - новое основание
    v   -  переводимое число   */
int convTo(int rTo,int v)
{
   if (v < rTo)
      return v;
   else
      return convTo(rTo,v/rTo)*10+v%rTo;   
}
1
ve1c0m
1 / 1 / 1
Регистрация: 30.10.2013
Сообщений: 17
04.01.2015, 20:58 #6
Цитата Сообщение от Catstail Посмотреть сообщение
В любую систему от двоичной, до 9-ричной:
C
1
2
3
4
5
6
7
8
/*    rTo - новое основание
     v   - *переводимое число  */
int convTo(int rTo,int v)
{
    if (v < rTo)
        return v;
    else
        return convTo(rTo,v/rTo)*10+v%rTo;
}

По вышесказанной формуле от товарища Catstail принимай творение, самому было интересно сделать

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include "stdafx.h"
#include <conio.h>
#include <iostream>
using namespace std;
/* rTo - новое основание
v   -  переводимое число   */
int convTo(int rTo,int v)
{
   if (v < rTo)
      return v;
   else
      return convTo(rTo,v/rTo)*10+v%rTo;   
}
void main(){
    setlocale(LC_ALL,"rus");//русский язык, работает в Visual Studio
    string a("123");
    int b=0;//в эту переменную будем записывать перевод строки в число
    int n=0;//двоичное число
    sscanf_s(a.c_str(),"%d",&b);//конвертация из строки в число
    cout<<"Переводимое число: "<<b<<endl;
    n=convTo(2,b);//берём 2, потому что так надо ;) для перевода в двоичную систему
    cout<<"Двоичное число: "<<n;
    _getch();
}
Написано в Visual Studio 2010
0
Миниатюры
Функция перевода из десятичной в двоичную систему  
04.01.2015, 20:58
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.01.2015, 20:58
Привет! Вот еще темы с ответами:

Перевод из десятичной в двоичную систему - C++
нужно перевести число из десятичной в двоичную систему! На форуме искал но не подходит! Вот мое творение #include &lt;iostream&gt; using...

Перевести с десятичной в двоичную систему счисления - C++
Есть ли какой метод в С++ для этого или надо самому писать метод))?

Блок схема с десятичной на двоичную систему - C++
-------------------------------------------------------- #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;iostream&gt; #include...

Перевод из десятичной в двоичную систему счисления - C++
Здравствуйте товарищи знатоки! Написал такую программу которая переводит десятичные числа в двоичные. Но есть одно НО. Работает она...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru