Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.52/188: Рейтинг темы: голосов - 188, средняя оценка - 4.52
Elanso
1 / 1 / 0
Регистрация: 30.11.2010
Сообщений: 41
1

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

27.12.2010, 18:38. Просмотров 34952. Ответов 9
Метки нет (Все метки)

Простите за банальный вопрос, но реально уже с пол часа лажу в нете немогу нормальной функции найти.
Напишите пож функцию.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.12.2010, 18:38
Ответы с готовыми решениями:

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

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

Перевод из десятичной(двоичной) системы счисления в двоичную(десятичную)
Всем добрый день, кто может помочь как можно реализовать данную задачу на С? Уже долго мучаюсь с...

Перевод из десятичной системы unsigned long long в двоичную c битовыми операциями, получается странный реультат
Доброго времени суток! Нужно выразить число в двоичной системе, показав все 64 символа...

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

9
asics
Freelance
Эксперт С++
2867 / 1802 / 355
Регистрация: 09.09.2010
Сообщений: 3,841
27.12.2010, 18:39 2
Elanso,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
//от 0 до 255
int main()
{
     int dec, v;
     std::cin >> dec;
     v = 128;
     for(int i = 1; i <= 8; i++)
     {
             if(dec >= v)
             {
                    std::cout << '1';
                    dec -= v;
             }
             else
                 std::cout << '0';
 
             v /= 2; 
     }
}
1
Elanso
1 / 1 / 0
Регистрация: 30.11.2010
Сообщений: 41
27.12.2010, 18:41  [ТС] 3
А можно в Си пожалуста а не в с++
0
asics
Freelance
Эксперт С++
2867 / 1802 / 355
Регистрация: 09.09.2010
Сообщений: 3,841
27.12.2010, 18:43 4
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
//от 0 до 255
int main(void)
{
     int dec, v;
     scanf("%d", dec);
     v = 128;
     for(int i = 1; i <= 8; i++)
     {
             if(dec >= v)
             {
                    printf("1");
                    dec -= v;
             }
             else
                 printf("0");
 
             v /= 2; 
     }
     return 0;
}
3
Elanso
1 / 1 / 0
Регистрация: 30.11.2010
Сообщений: 41
27.12.2010, 18:46  [ТС] 5
Спасибо

Добавлено через 1 минуту
Чёт не пашит всёвремя 111111 выводит(
1
asics
Freelance
Эксперт С++
2867 / 1802 / 355
Регистрация: 09.09.2010
Сообщений: 3,841
27.12.2010, 19:06 6
Elanso, Незнаю, у меня работает
Код
123
01111011
Process returned 0 (0x0)   execution time : 4.016 s
Press any key to continue.
0
Elanso
1 / 1 / 0
Регистрация: 30.11.2010
Сообщений: 41
27.12.2010, 19:44  [ТС] 7
Немогли бы вы перевести код с С++ в Си?
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
#include <iostream>
using namespace std;
 
void DecToBin( int n ) {
 
   if ( n >= 2 ) {
      DecToBin( n/2 );
   }
   cout << n % 2;
 
   return;
 
}
 
 
int main () {
 
   int n;
   cout << "n = ? ";
   cin >> n;
 
   cout << n << " (Dec) = ";
   DecToBin( n ); 
   cout << " (Bin)" << endl;
 
   return 0;
 
}
0
asics
Freelance
Эксперт С++
2867 / 1802 / 355
Регистрация: 09.09.2010
Сообщений: 3,841
27.12.2010, 19:50 8
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Elanso,
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
#include <stdio.h>
 
void DecToBin( int n )
 {
 
if ( n >= 2 )
{
DecToBin( n/2 );
}
printf("%d", n % 2);
 
}
 
 
int main ()
{
 
int n;
printf("n = ? ");
scanf("%d", &n);
 
printf(" (Dec) = ");
DecToBin( n );
printf(" (Bin)\n");
 
return 0;
 
}
3
Zoger
3 / 3 / 0
Регистрация: 10.10.2010
Сообщений: 68
08.04.2013, 15:53 9
я не силен в С++ и хочу понять и перевести в более понятный для меня код:
для чего нужен
C++
1
v = 128;
и что делает
C++
1
dec -= v;
и
C++
1
v /= 2;
0
Vadim-m
0 / 0 / 0
Регистрация: 03.04.2019
Сообщений: 10
17.05.2019, 12:48 10
Гениально просто! Но почему бинарное число записывается в правильной последовательности, а не задом на перед?

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
#include <stdio.h>
 
void DecToBin( int n )
 {
 
if ( n >= 2 )
{
DecToBin( n/2 );
}
printf("%d", n % 2);
 
}
 
 
int main ()
{
 
int n;
printf("n = ? ");
scanf("%d", &n);
 
printf(" (Dec) = ");
DecToBin( n );
printf(" (Bin)\n");
 
return 0;
 
}
0
17.05.2019, 12:48
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.05.2019, 12:48

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Перевод из десятичной в двоичную СС
Накалякал вот такое вот дело: #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; int main() { int d, x;...

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

Как перевести число из десятичной системы счисления в двоичную?
Есть ли какие-нибудь базовые функции, либо всё делать вручную? Если вручную, то приведите,...


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

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

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