0 / 0 / 0
Регистрация: 24.12.2013
Сообщений: 7
1

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

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

Студворк — интернет-сервис помощи студентам
Разработать программу, выполняющую перевод десятичного числа в двоично-десятичную систему.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.04.2014, 10:11
Ответы с готовыми решениями:

Перевод десятичного вещественного числа в новую систему счисления
Нужно разработать программу перевода десятичного вещественного числа в новую систему счисления....

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

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

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

10
Модератор
Эксперт функциональных языков программированияЭксперт Python
36529 / 19833 / 4156
Регистрация: 12.02.2012
Сообщений: 32,967
Записей в блоге: 13
25.04.2014, 15:04 2
А как представлять двоично-десятичное число?
0
0 / 0 / 0
Регистрация: 24.12.2013
Сообщений: 7
25.04.2014, 17:47  [ТС] 3
Ну, не совсем понял вопроса, могу сказать примером
3927 = 0011 1001 0010 0111
0
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
Модератор
Эксперт функциональных языков программированияЭксперт Python
36529 / 19833 / 4156
Регистрация: 12.02.2012
Сообщений: 32,967
Записей в блоге: 13
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
0 / 0 / 0
Регистрация: 24.12.2013
Сообщений: 7
25.04.2014, 19:12  [ТС] 6
Спасибо большое))
последнее, на сколько понял, просто как алфавит делаем, а потом можно вводить что угодно? (если вместо n=3297 сделать ввод числа)
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
36529 / 19833 / 4156
Регистрация: 12.02.2012
Сообщений: 32,967
Записей в блоге: 13
25.04.2014, 19:25 7
Цитата Сообщение от RFxDiesel Посмотреть сообщение
(если вместо n=3297 сделать ввод числа)
- совершенно верно!
0
922 / 638 / 198
Регистрация: 08.09.2013
Сообщений: 1,693
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
1 / 1 / 2
Регистрация: 27.02.2014
Сообщений: 48
26.04.2014, 16:30 9
прошу прощение, а как сделать чтобы отображалось только первые восемь бит?
например, число 121,это 01111001, а в программе отображаеться это - 0001 0010 0001
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
12225 / 7357 / 1730
Регистрация: 25.07.2009
Сообщений: 13,470
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
922 / 638 / 198
Регистрация: 08.09.2013
Сообщений: 1,693
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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.04.2014, 21:17
Помогаю со студенческими работами здесь

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

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

Перевод десятичного числа в двоично-десятичную систему счисления
Разработать программу и подпрограмму (подпрограммы), выполняющие действия согласно варианту задания...

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


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

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

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