9 / 9 / 2
Регистрация: 14.07.2010
Сообщений: 166
1

Перевод числа из десятичной системы в двоичную

20.09.2010, 12:29. Показов 5504. Ответов 9
Метки нет (Все метки)

нужно написать программу перевода числа из десятичной системы в двоичную
используя только цикл for и If else

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
using namespace std;
 
void main()
{
int dec, v,i;
cin >> dec;
v=128;
 
for (i=1; i<=8; i++)
if (dec >=v )
{
 cout << "1";
 dec-=v;
}
else 
cout << "0";
v=v/2;
 
cin.get();
cin.get();
}
не знаю что не так но считает не правильно(((
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.09.2010, 12:29
Ответы с готовыми решениями:

Перевод числа из десятичной системы в двоичную
нужно написать программу перевода числа из десятичной системы в двоичную используя только цикл for...

Перевод числа из десятичной системы счисления в двоичную.
Что неправильно??? + вопрос. дальше по заданию мне надо 2 числе перевести в двоичную систему, а...

Перевод числа из десятичной системы счисления в двоичную
Здравствуйте. Пытался написать пример перевода десятичного числа в двоичный с использованием...

Перевод числа из десятичной системы счисления в двоичную
Ребят, помогите пожалуйста, не разу не сталкивался с переводом систем счисления на языке С++ и...

9
ниначмуроФ
850 / 534 / 110
Регистрация: 12.10.2009
Сообщений: 1,913
20.09.2010, 12:35 2
C++
1
2
3
4
5
6
7
8
9
10
void DecToBin(unsigned int x){ 
   do 
      { 
        if (x%2==0)
        cout<<"0";
        else
        cout<<"1";
        x/=2;
      } while (x>=1);
}
Добавлено через 40 секунд
ой, цикл не For только
1
43 / 37 / 17
Регистрация: 11.11.2009
Сообщений: 246
20.09.2010, 12:58 3
C++
1
2
3
4
5
6
7
for (;;)
{       if (x%2==0)
        {cout<<"0";}
        else
        {cout<<"1";}
        x/=2;
if(x>=1) {break;}}
вот предыдущий код с for и if.

Добавлено через 19 минут
сори. Условие напутал.
C++
1
if(x>=1) {break;}
заменить на
C++
1
if(x<=1) {break;}
1
Бродяга
314 / 268 / 56
Регистрация: 27.08.2010
Сообщений: 553
20.09.2010, 13:01 4
А если просто for( ;x>=1; ) написать, это нехорошо?

Кстати, долго не мог понять, что не так. Ребят, у вас число задом наперёд печатается Из решений только массив на ум приходит, или можно по-другому как-то?

Добавлено через 2 минуты
Vergil, тогда уж строго меньше:

C++
1
if(x<1) break;
0
43 / 37 / 17
Регистрация: 11.11.2009
Сообщений: 246
20.09.2010, 13:21 5
dihlofos, работаю над этим. Вопрос: почему строго меньше? У меня прога работает, но один 0 с конца убирает.
0
Бродяга
314 / 268 / 56
Регистрация: 27.08.2010
Сообщений: 553
20.09.2010, 13:24 6
Vergil, хм, а если в конце 1. Например для 4 выведет 00, а если строгое условие, то 001.
0
2017 / 1616 / 489
Регистрация: 31.05.2009
Сообщений: 3,005
20.09.2010, 13:29 7
Цитата Сообщение от dihlofos Посмотреть сообщение
Кстати, долго не мог понять, что не так. Ребят, у вас число задом наперёд печатается Из решений только массив на ум приходит, или можно по-другому как-то?
Рекурсивно
0
43 / 37 / 17
Регистрация: 11.11.2009
Сообщений: 246
20.09.2010, 13:42 8
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//---------------------------------------------------------------------------
#include <iostream.h>
#pragma hdrstop
#pragma argsused
int main(int argc, char* argv[])
{int v,i, n, x;
cin>>v;
x=v;
for (n=1;;n++) {
x/=2; if(x<=1){break;}}
int *s=new int [n];
for (i=0;; i++) {
if (v<2) {s[n-i]=v; break;}
else{s[n-i]=v%2; }v=v/2;}
for (i = 0; i <= n; i++) {cout<<s[i];}
cout<<endl;
system("pause");
return 0;
}
//---------------------------------------------------------------------------
а-а. Я просто забыл сказать, что собираюсь кое-что еще дописать. Решил правкой воспользоваться, но заметил, что прога задом наперед и пошел исправлять.
Если есть другие предложения буду рад услышать.
yardie, зачем у вас deс?
0
9 / 9 / 2
Регистрация: 14.07.2010
Сообщений: 166
20.09.2010, 14:08  [ТС] 9
dec это ввод числа десятичного которое будем переводить!
0
2017 / 1616 / 489
Регистрация: 31.05.2009
Сообщений: 3,005
20.09.2010, 14:27 10
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
 
void printDecAsBin(int value)
{
    if(value >= 2) printDecAsBin(value/2);
    std::cout << value%2;
}
 
int main()
{
    int x;
    std::cin >> x; 
    printDecAsBin(x);    
    return 0;
}
Добавлено через 5 минут
А, надо же использовать for... Тогда рекурсия отпадает
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.09.2010, 14:27
Помогаю со студенческими работами здесь

Перевод числа из десятичной системы счисления в двоичную
Как зделать програму которая бы считала перевод с 10-ичной системы в 2-ичную? подскажыте плз)

Рекурсия: перевод числа из десятичной системы в двоичную
Нужна программа,которая рекурсивно переводит числа из десятичной системы в двоичную.

Рекурсия: перевод числа из десятичной системы счисления в двоичную
Написать рекурсивную функцию для перевода числа з десятичной системы в двоичную

Реализовать перевод числа из десятичной системы счисления в двоичную
число в 10 системе cсчисления например 10.2342 использовать только алгоритм перевода чисел, без...

Перевод из десятичной системы счисления в двоичную числа с плавающей точкой
помогите написать и разобраться. Добавлено через 3 часа 2 минуты Помогите перевод написать...

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru