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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.88
Sapendo
5 / 5 / 3
Регистрация: 13.05.2014
Сообщений: 130
#1

Перевод из десятичной в двоичную систему - C++

07.07.2014, 02:50. Просмотров 2112. Ответов 16
Метки нет (Все метки)

нужно перевести число из десятичной в двоичную систему! На форуме искал но не подходит! Вот мое творение
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
25
26
27
28
29
30
#include <iostream>
using namespace std;
void main ()
{
    const int N=20;
    int mas[N];
    for (int i=0; i<N; i++)
    {
        int n=12, NS = 2, answer, answer1,a,b;
    while (n>=1)
    {
        a=n/NS;
        answer = a;
        b = a*NS;
        answer1 = n-b;
        mas[i]=0*0+answer1;
        n=a;
        cout<<mas[i]<<'\t';
 
    }
    break;
        for(int c = 0,  j = N - 1; c < j; ++c, --j)
        {
            swap (mas[c],mas[j]);
        }
        cout<<mas[i]<<'\t';
 
    }
 
}
Помогите довести его до ума!!!
Спасибо!

Добавлено через 3 часа 21 минуту
неужели никто не поможет(((((((((((((((
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.07.2014, 02:50     Перевод из десятичной в двоичную систему
Посмотрите здесь:

Перевод числа из десятичной системы в двоичную C++
Перевод числа из десятичной системы в двоичную C++
перевод из десятичной в двоичную C++
C++ Перевод дробных чисел из десятичной в двоичную систему счисления
Перевод с десятичной в двоичную систему C++
C++ Перевод из десятичной в двоичную СС
Перевод из десятичной в двоичную C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Renji
1733 / 1166 / 272
Регистрация: 05.06.2014
Сообщений: 3,373
07.07.2014, 03:50     Перевод из десятичной в двоичную систему #2
Помогите довести его до ума!!!
Код идущий после break никогда не будет выполнен. "0*0+" не делает вообще ничего. Признаков ввода исходного числа не обнаружено. Признаков знания оператора % (взятие остатка от деления), кстати, тоже. Бессмысленный набор букв и цифр до ума не доводится.
Roodey
4 / 4 / 1
Регистрация: 23.05.2013
Сообщений: 36
07.07.2014, 07:00     Перевод из десятичной в двоичную систему #3
Проблематично довести до ума то, что не имеет никакого смысла.
Вы выдалинам просто набор символов, отдаленно напоминающий код программы
Пишите что-нибудь, что будет хотя-бы иметь смысл, тогда поможем, а так, писать за вас, не особо охото.
alsav22
5413 / 4809 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
07.07.2014, 08:01     Перевод из десятичной в двоичную систему #4
Цитата Сообщение от Sapendo Посмотреть сообщение
На форуме искал но не подходит!
Перевод файла в двоичный код
Supernatural
285 / 141 / 28
Регистрация: 22.11.2010
Сообщений: 1,467
07.07.2014, 09:16     Перевод из десятичной в двоичную систему #5
Sapendo, советую разобрать сам процесс перевода с десятичной с.и. в двоичную для начала на блок схемах, чтобы легче было код составлять.
Sapendo
5 / 5 / 3
Регистрация: 13.05.2014
Сообщений: 130
07.07.2014, 09:17  [ТС]     Перевод из десятичной в двоичную систему #6
Сам процесс перевода я знаю, я реализовать не могу!
IrineK
07.07.2014, 09:28
  #7

Не по теме:

Цитата Сообщение от Sapendo Посмотреть сообщение
mas[i]=0*0+answer1;
Так надёжней, а то - как бы чего не вышло

alsav22
5413 / 4809 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
07.07.2014, 10:08     Перевод из десятичной в двоичную систему #8
Цитата Сообщение от Sapendo Посмотреть сообщение
Сам процесс перевода я знаю, я реализовать не могу!
Тут что, нет реализации?
Перевод файла в двоичный код
-=ЮрА=-
Заблокирован
Автор FAQ
07.07.2014, 11:01     Перевод из десятичной в двоичную систему #9
Sapendo, вот по простому
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iomanip>
#include <iostream>
using namespace std;
 
int main()
{
    int num = 117;
    cout<<"DEC : "<<dec<<num<<endl
        <<"BIN : "<<bin<<num<<endl;
    return 0;
}
DEC : 117
BIN : 1110101
Проверка : http://codepad.org/snf5lmbg
dzrkot
zzzZZZ...
518 / 348 / 53
Регистрация: 11.09.2013
Сообщений: 1,994
07.07.2014, 11:27     Перевод из десятичной в двоичную систему #10
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
int main()
{
    int x,size;
    cout<<"number ? :";
    cin>>x;
    cout<<"numbers byte ? :";
    cin>>size;
    size*=8;
    char *y=new char[size];
 
    for(int i=0,j=(size-2);i<size;i++,j--)
      if(x & 1<<i)
        y[j]='1';
      else
        y[j]='0';
 
cout<<y;
    return 0;
}
Renji
1733 / 1166 / 272
Регистрация: 05.06.2014
Сообщений: 3,373
07.07.2014, 11:34     Перевод из десятичной в двоичную систему #11
Sapendo, вот по простому
error: 'bin' was not declared in this scope (g++). В стандарте то оно есть или только в отдельно взятых компиляторах?
-=ЮрА=-
Заблокирован
Автор FAQ
07.07.2014, 11:39     Перевод из десятичной в двоичную систему #12
Цитата Сообщение от Renji Посмотреть сообщение
error: 'bin' was not declared in this scope (g++). В стандарте то оно есть или только в отдельно взятых компиляторах?
- почитай здесь http://codepad.org/about что поддержвает codepad.org
ompiler and interpreter versions
Here are the compilers and interpreters codepad uses to execute code:
C: gcc 4.1.2
flags: -O -fmessage-length=0 -fno-merge-constants -fstrict-aliasing -fstack-protector-all

C++: g++ 4.1.2
flags: -O -std=c++98 -pedantic-errors -Wfatal-errors -Werror -Wall -Wextra -Wno-missing-field-initializers -Wwrite-strings -Wno-deprecated -Wno-unused -Wno-non-virtual-dtor -Wno-variadic-macros -fmessage-length=0 -ftemplate-depth-128 -fno-merge-constants -fno-nonansi-builtins -fno-gnu-keywords -fno-elide-constructors -fstrict-aliasing -fstack-protector-all -Winvalid-pch

D: Digital Mars D Compiler v1.026

Haskell: Hugs, September 2006
flags: -98

Lua: Lua 5.1.3

OCaml: Objective Caml version 3.10.1

PHP: PHP 5.2.5

Perl: Perl v5.8.0

Python: Python 2.5.1

Ruby: Ruby 1.8.6

Scheme: MzScheme v372 [cgc]

Tcl: tclsh 8.4.16

Copyright Contact Information
zss
Модератор
Эксперт С++
6180 / 5783 / 1872
Регистрация: 18.12.2011
Сообщений: 14,771
Завершенные тесты: 1
07.07.2014, 11:41     Перевод из десятичной в двоичную систему #13
dzrkot, Если попридирчивее посмотреть на Ваш код,
то перевод из 10 системы в двоичную сделал оператор cin>>x;
А далее переводится двоичное число в текстовую строку.
-=ЮрА=-
Заблокирован
Автор FAQ
07.07.2014, 11:45     Перевод из десятичной в двоичную систему #14
Вот ещё малозатратный вариант
C++
1
2
3
4
5
6
7
8
9
#include <bitset>
#include <iostream>
using namespace std;
 
int main(){
    bitset<8> bs (117);
    cout<<bs<<endl;
    return 0;
}
dzrkot
zzzZZZ...
518 / 348 / 53
Регистрация: 11.09.2013
Сообщений: 1,994
07.07.2014, 11:46     Перевод из десятичной в двоичную систему #15
Цитата Сообщение от zss Посмотреть сообщение
dzrkot, Если попридирчивее посмотреть на Ваш код,
то перевод из 10 системы в двоичную сделал оператор cin>>x;
А далее переводится двоичное число в текстовую строку.
пример из жизни - вывести int на LCD дисплей, можно через sprintf(), можно так
...но имхо так удобнее если надо формировать строку, или если большое 32/64, число - сразу можно расставить точки итп
Sapendo
5 / 5 / 3
Регистрация: 13.05.2014
Сообщений: 130
07.07.2014, 20:48  [ТС]     Перевод из десятичной в двоичную систему #16
Всем спасибо! Сам решил!
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
25
26
27
#include <iostream>
#include <ctime>
using namespace std;
 
void main ()
{
    const int size=10;
    int mas[size], n=20;
    for(int i=0;i<size;i++)
    {
        if (n%2==0)
            mas[i]=0;
        else
            mas[i]=1;
        n=n/2;
        cout<<mas[i]<<'\t';
    }
    cout<<endl;
    for (int i=0; i<size; i++)
    {
        for (int j=i+1; j<size; j++)
        {
            swap(mas[i],mas[j]);
        }
                    cout<<mas[i]<<'\t';
    }
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.07.2014, 21:13     Перевод из десятичной в двоичную систему
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
zss
Модератор
Эксперт С++
6180 / 5783 / 1872
Регистрация: 18.12.2011
Сообщений: 14,771
Завершенные тесты: 1
07.07.2014, 21:13     Перевод из десятичной в двоичную систему #17
Цитата Сообщение от Sapendo Посмотреть сообщение
Сам решил!
Так все же, какую задачу Вы решали?
В данном случае десятичное число (n=20) в двоичный вид преобразовал компилятор.
А Вы преобразовали двоичное число в массив битов.

Более похоже на решение будет,
если десятичное число, представленное текстовой строкой, преобразовать в двоичное.
C++
1
2
3
4
5
6
7
8
9
char n10[6]="12345";
int n2=0;
int pow=1;
for(int i=strlen(n10)-1;i>=0;i--)
{
   int t=n10[i]-'0';
   n2+=t*pow;
   pow*=10;
}
Полученное число n2 теперь можете преобразовать в массив битов Вашим алгоритмом.
Yandex
Объявления
07.07.2014, 21:13     Перевод из десятичной в двоичную систему
Ответ Создать тему
Опции темы

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