Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/88: Рейтинг темы: голосов - 88, средняя оценка - 4.69
14 / 14 / 13
Регистрация: 14.02.2013
Сообщений: 787
1

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

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

Author24 — интернет-сервис помощи студентам
Здравствуйте, помогите пожалуйста написать функцию перевод из десятеричной в двоичную систему.
Результат нужно записать в переменную string
Пример:
123 = 01111011
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.01.2015, 19:06
Ответы с готовыми решениями:

Функция перевода из десятичной в 32-ух битную двоичную систему
Народ нужна помощь!!! Может кто-то кинуть функцию/подсказать как перевести с десятичной в 32-ух...

Перевод из десятичной в двоичную систему (функция)
Здравствуйте. Может кто-то знает, как создать функцию, которая переводит десятичное число в...

Функция перевода восьмеричного числа в двоичную систему счисления
Разработать спецификации и написать функцию для перевода восьмеричного числа в двоичную систему...

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

5
Модератор
Эксперт С++
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,712
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
14 / 14 / 13
Регистрация: 14.02.2013
Сообщений: 787
04.01.2015, 19:27  [ТС] 3
zss, в этом коде нету перевода в двоичную СС

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

Добавлено через 4 минуты
но это hex, а мне нужно в двоичном виде
0
Модератор
Эксперт С++
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,712
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
Модератор
Эксперт функциональных языков программированияЭксперт Python
36601 / 20330 / 4220
Регистрация: 12.02.2012
Сообщений: 33,640
Записей в блоге: 13
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;   
}
2
2 / 2 / 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
Миниатюры
Функция перевода из десятичной в двоичную систему  
1
04.01.2015, 20:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.01.2015, 20:58
Помогаю со студенческими работами здесь

Написать код для перевода SIGNED int из десятичной СС в двоичную СС
Напишите пожалуйста, чтобы было понятно новичку:) У меня код только для unsigned void...

Разработка рекурсивной функции для перевода числа из десятичной сс в двоичную
На уроке преподаватель не объясняет как решать. Задачи берутся из &quot;Основы программирования на языке...

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

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


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru