Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.10.2013, 15:34   #1
NataPl
Пользователь
 
Аватар для NataPl
 
Регистрация: 26.02.2013
Сообщений: 38
Восклицание С: перевод десятичного в двоичное и обратно

Задание - написать программу которая будет переводить числе из двоичной в десятичное и наоборот, используя математические алгоритмы. Написал следущее:
[CODE]#include <stdio.h>
#include <conio.h>
#define max 100

int to_int(int a);
int to_binary(int a);
int inilized();

int main()
{
inilized();
getch();
return 0;
}

int to_int(int a)
{
int f,boyko,putin,korzik,biber;
int elchaninov[max];
boyko=0;
while(a>10)
{
boyko++;
if (a%10==0)
{
elchaninov[boyko]=0;
} else {
elchaninov[boyko]=a%10;
}
a=a/10;
}
putin=boyko;
biber=0;
if (elchaninov[1]=0)
{
korzik=2;
}
if (elchaninov[1]=1)
{
korzik=1;
}
while(putin>0)
{
biber++;
if (elchaninov[biber]=1)

Последний раз редактировалось Stilet; 06.10.2013 в 16:06.
NataPl вне форума Ответить с цитированием
Старый 08.10.2013, 14:57   #2
Nuklon
Форумчанин
 
Аватар для Nuklon
 
Регистрация: 05.04.2012
Сообщений: 134
По умолчанию

Код:
#include <stdio.h>


//10 -> 2
char* dec_to_bin(char* b, int n) {
    char* p, c, *t = b;
    size_t i;

    for(i = (size_t)n; i != 0; i >>= 1)
        *b++ = (char)(i & 1) + '0';
    *b = '\0';

    // rev
    for(--b, p = t; p < b; ++p, --b) {
        c  = *p;
        *p = *b;
        *b = c;
    }
    return t;
}



// 2 -> 10
int bin_to_dec(const char* s) {
    const char* p;
    int k, c, i, n = 0;

    for(p = s; *p; ++p);
    c = (p - s) - 1;

    while(*s) {
        if(*s++ == '1') {
            i = 1;
            for(k = 0; k < c; ++k)//pow(2, c)
                 i *= 2;
            n += i;
        }
        --c;
    }
    return n;
}



int main(void) {
    char buf[33];
    int num = 12345;

    printf("%s\n", dec_to_bin(buf, num));
    printf("%d\n", bin_to_dec(buf));
    return 0;
}
Пример работы кода

Цитата:
int f,boyko,putin,korzik,biber;
Nuklon вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
перевод числа из десятичного представления в двоичное на Си Kastet14 Помощь студентам 11 29.04.2016 16:49
Перевод десятичного числа в двоичное. Не могу найти ошибку. Че Гевара Общие вопросы C/C++ 5 30.12.2012 02:13
Перевод из натурального десятичного числа в двоичное представление(string) Berserk0 Помощь студентам 3 17.06.2011 00:52
Преобразование десятичного числа в двоичное. Quize Паскаль, Turbo Pascal, PascalABC.NET 4 12.04.2008 16:09
C++. Перевод десятичного числа в двоичное Panterka Помощь студентам 15 12.12.2007 15:04