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

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

25.04.2014, 10:11. Просмотров 1347. Ответов 10
Метки нет (Все метки)

Разработать программу, выполняющую перевод десятичного числа в двоично-десятичную систему.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.04.2014, 10:11
Ответы с готовыми решениями:

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

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

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

Перевод из двоичной в десятичную систему счисления
Нужно перевести число любой длины из двоичной в десятичную и чтобы после...

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

10
Catstail
Модератор
23575 / 11676 / 2043
Регистрация: 12.02.2012
Сообщений: 19,049
25.04.2014, 15:04 #2
А как представлять двоично-десятичное число?
0
RFxDiesel
0 / 0 / 0
Регистрация: 24.12.2013
Сообщений: 7
25.04.2014, 17:47  [ТС] #3
Ну, не совсем понял вопроса, могу сказать примером
3927 = 0011 1001 0010 0111
0
d_shablov
0 / 0 / 0
Регистрация: 25.04.2014
Сообщений: 3
25.04.2014, 18:23 #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
25
26
27
28
29
30
31
32
33
34
35
#include <iostream>
int main()
{   
   int n;
   std::cin >> n;
   string bin_num;
   while(n != 0)
   {
       int tmp = n % 10;
       n = n / 10;
       string part_bin_num = "0000";
       if (tmp & 0x1000)
       {
           part_bin_num[0] =  '1';
       }
       if (tmp & 0x0100)
       {
           part_bin_num[1] =  '1';
       }
       if (tmp & 0x0010)
       {
           part_bin_num[2] =  '1';
       }
       if (tmp & 0x0001)
       {
           part_bin_num[3] =  '1';
       }
       bin_num += part_bin_num;
   }
   for (int i = bin_num.length() - 1; i >= 3; i -= 4)
   {
       std::cout << bin_num[i - 3] << bin_num[i - 2] << bin_num[i - 1] << bin_num[i] << ' ';
   }
   return 0;
}
0
Catstail
Модератор
23575 / 11676 / 2043
Регистрация: 12.02.2012
Сообщений: 19,049
25.04.2014, 18:54 #5
Или так:

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include <stdio.h>
 
void toDec(int n)
{   
    int d;
    if (n == 0) return;
    toDec(n/10);
    d=n%10;
    switch (d)
    {
        case 0:
            printf("0000 ");
            break;
        case 1:
            printf("0001 ");
            break;
        case 2:
            printf("0010 ");
            break;
        case 3:
            printf("0011 ");
            break;
        case 4:
            printf("0100 ");
            break;
        case 5:
            printf("0101 ");
            break;
        case 6:
            printf("0110 ");
            break;
        case 7:
            printf("0111 ");
            break;
        case 8:
            printf("1000 ");
            break;
        case 9:
            printf("1001 ");
    }
}
 
int main(int argc, char* argv[])
{
    int n=3927;
    toDec(n);
    return 0;
}
2
RFxDiesel
0 / 0 / 0
Регистрация: 24.12.2013
Сообщений: 7
25.04.2014, 19:12  [ТС] #6
Спасибо большое))
последнее, на сколько понял, просто как алфавит делаем, а потом можно вводить что угодно? (если вместо n=3297 сделать ввод числа)
0
Catstail
Модератор
23575 / 11676 / 2043
Регистрация: 12.02.2012
Сообщений: 19,049
25.04.2014, 19:25 #7
Цитата Сообщение от RFxDiesel Посмотреть сообщение
(если вместо n=3297 сделать ввод числа)
- совершенно верно!
0
gng
807 / 552 / 167
Регистрация: 08.09.2013
Сообщений: 1,495
25.04.2014, 20:42 #8
Похожий вариант
C
1
2
3
4
5
6
7
void bindec ( int n) {
  if (!n) return;
  bindec (n/10);
  int i;
  for (i= 3; i>=0; i--) printf ("%d", ((n % 10)>>i) & 1);
  printf (" ");
}
1
MrActiveSync
1 / 1 / 2
Регистрация: 27.02.2014
Сообщений: 48
26.04.2014, 16:30 #9
прошу прощение, а как сделать чтобы отображалось только первые восемь бит?
например, число 121,это 01111001, а в программе отображаеться это - 0001 0010 0001
0
easybudda
Модератор
Эксперт CЭксперт С++
10053 / 5973 / 1493
Регистрация: 25.07.2009
Сообщений: 11,312
26.04.2014, 17:42 #10
Цитата Сообщение от RFxDiesel Посмотреть сообщение
3927 = 0011 1001 0010 0111
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 <stdio.h>
 
const char DECADE[10][5] = {
    "0000",
    "0001",
    "0010",
    "0011",
    "0100",
    "0101",
    "0110",
    "0111",
    "1000",
    "1001",
};
 
void decbin(unsigned n) {
    if ( n ) {
        decbin(n / 10);
        printf("%s ", DECADE[n % 10]);
    }
}
 
int main(void) {
    unsigned n;
    
    while ( printf("\nNumber: ") && scanf("%u", &n) == 1 && n )
        decbin(n);
    
    return 0;
}
0
gng
807 / 552 / 167
Регистрация: 08.09.2013
Сообщений: 1,495
26.04.2014, 21:17 #11
Цитата Сообщение от MrActiveSync Посмотреть сообщение
например, число 121,это 01111001
C
1
2
3
4
5
6
7
int main()
{
  int n, i;
  scanf ("%d", &n);
  for (i= 7; i>=0; i--) printf ("%d", (n>>i) & 1);
  printf ("\n");
}
1
26.04.2014, 21:17
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.04.2014, 21:17

Перевод числа s из b-чной системы счисления в десятичную
Задано целое число b - основание системы счисления от 2 до 16 и строка s -...

Перевод числа из двоичной системы счисления в десятичную
Вот пример : void main(void) { unsigned char data = 10000000; unsigned...

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


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

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

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