Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.55/110: Рейтинг темы: голосов - 110, средняя оценка - 4.55
Fobos1994
4 / 4 / 1
Регистрация: 15.04.2011
Сообщений: 274
1

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

28.03.2012, 18:36. Просмотров 20207. Ответов 20
Метки нет (Все метки)

Здравствуйте,нужно написать програму (только чистый Borland C), которая переводит числа из десятичных в двоичные..!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.03.2012, 18:36
Ответы с готовыми решениями:

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

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

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

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

Блок схема с десятичной на двоичную систему
-------------------------------------------------------- #include <stdio.h> #include <conio.h> ...

20
Infinity3000
1060 / 579 / 87
Регистрация: 03.12.2009
Сообщений: 1,255
28.03.2012, 18:40 2
Fobos1994, все дело в поиске!

Программа для перевода чисел из 10 системы в 2
0
Fobos1994
4 / 4 / 1
Регистрация: 15.04.2011
Сообщений: 274
28.03.2012, 19:12  [ТС] 3
да,только там написано не под чистый с,а мне нужно под чистый..
0
Infinity3000
1060 / 579 / 87
Регистрация: 03.12.2009
Сообщений: 1,255
28.03.2012, 19:25 4
Fobos1994, а что в Вашем понимании чистый С

уважаемый easybudda в посте номер 18 ввыше указанной теме привел решение на С, которое удачно работает в Borland C как вы упоминули выше

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>
#include <limits.h>
 
#define INT_BIT CHAR_BIT * sizeof(int)
#define GREAT_INT_BIT 1 << ( INT_BIT - 1 )
        
void bits_to_str(int val, unsigned int mask, char * buf){
        if ( ! mask ){
                *buf = '\0';
                return;
        }
        *buf = val & mask ? '1' : '0';
        bits_to_str(val, mask >> 1, ++buf);
}
        
int main(void){
        char buf[BUFSIZ];
        
        printf("Enter some values (empty string - exit)\n");
        while ( printf("> ") && fgets(buf, BUFSIZ, stdin) ){
                if ( *buf == '\n' )
                        break;
                bits_to_str(atoi(buf), GREAT_INT_BIT, buf);
                printf("  %s\n", buf);
        }
        
        return 0;
}
0
Миниатюры
Перевод с десятичной в двоичную систему  
Fobos1994
4 / 4 / 1
Регистрация: 15.04.2011
Сообщений: 274
28.03.2012, 19:36  [ТС] 5
Та я вижу..=)
Только если я им воспользуюсь,то несмогу преподу обьяснить как я дошел до такого,половины функций в коде я незнаю..ыы.
мне бы еслиб както по простому..
0
Диман56
22 / 22 / 4
Регистрация: 07.11.2011
Сообщений: 154
28.03.2012, 19:42 6
Если время терпит, то ща пороюсь. Где-то было....И ещё вопрос-предел переводимых чисел? Хватит ли вам integer или хотя бы long integer?
0
Fobos1994
4 / 4 / 1
Регистрация: 15.04.2011
Сообщений: 274
28.03.2012, 19:44  [ТС] 7
Нуу,это на твое усмотрение..
0
RocBoy-D
41 / 40 / 23
Регистрация: 10.03.2012
Сообщений: 374
28.03.2012, 19:57 8
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<stdio.h>
 
void printi(int n)
{
            int i;
 
            if( n < 0 ){  putchar( '-' ); n = -n;   }
        if( i = n / 2 )
                    printi( i );
            i = n % 2 ;
            putchar( i >= 10 ? 'A' + i - 10 : '0' + i );
}
 
void main()
{
         int n;
 
         scanf("%d",&n);
         printi(n);
}
1
Fobos1994
4 / 4 / 1
Регистрация: 15.04.2011
Сообщений: 274
28.03.2012, 20:00  [ТС] 9
Спсибо огромное,а можеш хоть какието коментарии написать???
0
RocBoy-D
41 / 40 / 23
Регистрация: 10.03.2012
Сообщений: 374
28.03.2012, 20:03 10
что именно не ясно?
0
Kuzia domovenok
2431 / 2158 / 528
Регистрация: 25.03.2012
Сообщений: 7,785
Записей в блоге: 1
28.03.2012, 20:06 11
C
1
2
3
4
5
6
7
8
#include <stdio.h>
int main(){
 int n;
 printf("Enter decimal number:");
 scanf("%d", &n);
 printf("Your binary number is %b\n", n);
 return 0;
}>


Ой, не работает, а я так надеялся.
1
Fobos1994
4 / 4 / 1
Регистрация: 15.04.2011
Сообщений: 274
28.03.2012, 20:07  [ТС] 12
Ну вот эта часть кода..
C
1
2
3
4
5
6
7
8
9
void printi(int n)
{
            int i;
 
            if( n < 0 ){  putchar( '-' ); n = -n;   }
            if( i = n / 2 )
                    printi( i );
            i = n % 2 ;
            putchar( i >= 10 ? 'A' + i - 10 : '0' + i );
это функция??
Можете написать что именно програма делает пошагово??
и если есть возможность к ней блоксхему хоть какуюто от руки..
0
RocBoy-D
41 / 40 / 23
Регистрация: 10.03.2012
Сообщений: 374
28.03.2012, 20:08 13
наверно можно и так сделать
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<stdio.h>
 
void printi(int n)
{
            int i;
 
            if( n < 0 ){  putchar( '-' ); n = -n;   }
            if( i = n / 2 )
                    printi( i );
            i = n % 2 ;
            putchar( '0' + i );
}
 
void main()
{
         int n;
 
         scanf("%d",&n);
         printi(n);
}
0
Fobos1994
4 / 4 / 1
Регистрация: 15.04.2011
Сообщений: 274
28.03.2012, 20:10  [ТС] 14
что значит "printi",
и "void printi(int n)"??
это вы обьявляете функцию,или что??
0
Диман56
22 / 22 / 4
Регистрация: 07.11.2011
Сообщений: 154
28.03.2012, 20:13 15

Не по теме:

Ну, как думаю, можно не искать:)



Добавлено через 38 секунд
Типичная функция, да ещё и рекурсивная
0
Kuzia domovenok
2431 / 2158 / 528
Регистрация: 25.03.2012
Сообщений: 7,785
Записей в блоге: 1
28.03.2012, 20:17 16
Но мы пойдём другим путём
C
1
2
3
4
5
6
7
8
9
10
11
12
13
#define BYTETOBINARYPATTERN "%d%d%d%d%d%d%d%d"
#define BYTETOBINARY(byte)  \
  (byte & 0x80 ? 1 : 0), \
  (byte & 0x40 ? 1 : 0), \
  (byte & 0x20 ? 1 : 0), \
  (byte & 0x10 ? 1 : 0), \
  (byte & 0x08 ? 1 : 0), \
  (byte & 0x04 ? 1 : 0), \
  (byte & 0x02 ? 1 : 0), \
  (byte & 0x01 ? 1 : 0) 
...
 
  printf ("Leading text "BYTETOBINARYPATTERN, BYTETOBINARY(byte));
0
RocBoy-D
41 / 40 / 23
Регистрация: 10.03.2012
Сообщений: 374
28.03.2012, 20:19 17
программа рекурсивная... Держи псевдокод
Функция printi
проверка знака введенного числа: если отрицательное меняем на противоположное;

если целая часть от деления n на 2 не равна 0 вызываем printi( i )
иначе вычисляем остаток от деления i на 2 и выводим на экран

Функция main
ввод n с клавиатуры
вызов функции printi
1
Fobos1994
4 / 4 / 1
Регистрация: 15.04.2011
Сообщений: 274
28.03.2012, 20:19  [ТС] 18
А можете пожалуйста нарисовать блок-схему для этой задачи,хотябы в paint???=))
0
RocBoy-D
41 / 40 / 23
Регистрация: 10.03.2012
Сообщений: 374
28.03.2012, 20:20 19
Fobos1994, printi - название функции, можешь назвать по-другому
void - тип функции
1
Fobos1994
4 / 4 / 1
Регистрация: 15.04.2011
Сообщений: 274
28.03.2012, 20:24  [ТС] 20
RocBoy-D, Нарисуйте пожалуйста блоксхему=))
я очень прошу..=)
0
28.03.2012, 20:24
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.03.2012, 20:24

Перевести с десятичной в двоичную систему счисления
Есть ли какой метод в С++ для этого или надо самому писать метод))?

Перевод из десятичной в двоичную СС
Объясните пожалуйста. #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; void...

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


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

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

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