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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 8, средняя оценка - 4.88
Seattle
Сообщений: n/a
#1

Перевод десятичного числа в двоичное - C++

04.02.2014, 17:36. Просмотров 1180. Ответов 8
Метки нет (Все метки)

вот, что я написал
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include<iostream>
#include<locale.h>
using namespace std;
int main(){
    setlocale(LC_ALL,"rus");
    int digit;
    cout<<"Ââåäèòå öåëîå ÷èñëî ГЁ Г*Г*æìèòå <Enter> -> ";
    cin>>digit;
    for(;digit!=0;){
        if(digit%2==0){
            cout<<"0";
        }
        else{
            cout<<"1";
        }
        digit/=2;
    }
}
Только у меня двоичное число отображается наоборот. Как его развернуть.
P.S. По заданию програмка должна быть написана через цикл for.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.02.2014, 17:36
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Перевод десятичного числа в двоичное (C++):

Перевод десятичного числа в двоичное - C++
Доброго времени суток всем. Программа выполняет перевод десятиричного числа в двоичное, если остаток от деления a%b==0; записывает что b (в...

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

Перевод десятичного числа в двоичное число - C++
Всем доброго времени суток! Собственно вот мой код, который должен переводисть число десятичное в число двоичное. Потестил я его, со...

Перевод отрицательного целого десятичного числа в двоичное - C++
Перевод отрицательного целого десятичного числа в двоичное

Перевод отрицательного целого десятичного числа в двоичное - C++
Помогите решить эту задачу

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Тамика
Котовчанин
870 / 450 / 143
Регистрация: 16.02.2010
Сообщений: 2,993
Записей в блоге: 27
04.02.2014, 17:42 #2
Создайте вектор или массив, и туда заносите нолики и единичке. А потом просто выводите наоборот. Или в векторе есть функция - реверс.
0
vovacreme
-16 / 61 / 13
Регистрация: 14.01.2014
Сообщений: 145
04.02.2014, 17:43 #3
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <deque>
#include <iterator>
using namespace std;
 
int main()
{
    deque<int> bits;
    unsigned digit;
    cin >> digit;
    while(digit)
    {
        bits.push_front(digit % 2);
        digit /= 2;
    }
    copy(bits.begin(), bits.end(), ostream_iterator<int>(cout, " "));
    cout << endl;
    system("pause");
}
И через for:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <deque>
#include <iterator>
using namespace std;
 
int main()
{
    deque<int> bits;
    unsigned digit;
    cin >> digit;
    for(; digit; digit /= 2)
        bits.push_front(digit % 2);
    copy(bits.begin(), bits.end(), ostream_iterator<int>(cout, " "));
    cout << endl;
    system("pause");
}
1
Тамика
Котовчанин
870 / 450 / 143
Регистрация: 16.02.2010
Сообщений: 2,993
Записей в блоге: 27
04.02.2014, 17:45 #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
void binary(std::vector <int>& vec, int num)
{
    for (;num != 1;)
    {
        if (num%2 == 0) vec.push_back(0);
        else vec.push_back(1);
 
        num = num/2;
    }
    vec.push_back(1);
    std::reverse(vec.begin(), vec.end());
}
 
void main()
{
    int n = 5;
    std::vector <int> v;
    binary(v, n);
    for (int i =0 ; i < v.size(); ++ i)
        std::cout << v[i];
    getch();
}
1
Xopecc
33 / 28 / 2
Регистрация: 13.09.2013
Сообщений: 250
04.02.2014, 17:52 #5
Тамика, массив не получится сделать, т.к. при переводе может получиться http://www.cyberforum.ru/cgi-bin/latex.cgi?{1}_{2}, а может вот так http://www.cyberforum.ru/cgi-bin/latex.cgi?{1110011}_{2}, т.е. не точное кол-во символов
0
Тамика
Котовчанин
870 / 450 / 143
Регистрация: 16.02.2010
Сообщений: 2,993
Записей в блоге: 27
04.02.2014, 17:56 #6
Цитата Сообщение от Xopecc Посмотреть сообщение
Тамика, массив не получится сделать, т.к. при переводе может получиться http://www.cyberforum.ru/cgi-bin/latex.cgi?{1}_{2}, а может вот так http://www.cyberforum.ru/cgi-bin/latex.cgi?{1110011}_{2}, т.е. не точное кол-во символов
Не поняла, что Вы хотели сказать.
0
RedDevilHat
4 / 4 / 2
Регистрация: 23.12.2013
Сообщений: 135
04.02.2014, 17:57 #7
Xopecc, динамический массив?
0
Xopecc
33 / 28 / 2
Регистрация: 13.09.2013
Сообщений: 250
04.02.2014, 18:09 #8
RedDevilHat, ну, с этим будут мороки
Тамика,
Создайте вектор или массив, и туда заносите нолики и единичке. А потом просто выводите наоборот. Или в векторе есть функция - реверс.
Я вот про это. Про создать массив
0
Тамика
Котовчанин
870 / 450 / 143
Регистрация: 16.02.2010
Сообщений: 2,993
Записей в блоге: 27
04.02.2014, 18:10 #9
А, Вы про количество элементов. Да, тут Вы правы. Вектор наше всё.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.02.2014, 18:10
Привет! Вот еще темы с ответами:

Перевод десятичного вещественного числа в двоичное путем побитовых операций (Делить на 2 нельзя) - C++
Нужно написать код на С++, который переводит вещественное десятичное число в двоичное с помощью битовых операторов(Сдвиги, &amp;, | и т.п) ...

Преобразование десятичного числа в двоичное - C++
Написать консольное приложение которое преобразует введенное пользователем с клавиатуры десятичное число в двоичное =)) помогите))

Реализовать систему перевода десятичного числа в двоичное не используя деление и остаток от деления - C++
помогите с задачей не пойму как делать Реализовать систему перевода десятичного числа в двоичное не используя деление и остаток от...

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


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
04.02.2014, 18:10
Ответ Создать тему
Опции темы

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