Перевод из двоичной системы в десятичную - C (СИ) (149519)

Узнай цену своей работы

Формулировка задачи:

Помогите пожалуйста сделать обратную функции перевода, из двоичной в десятичную, добавив в часть кода. Очень надо
#include <stdio.h>
 
int d2b(int n)
{
    int r;
    if (n == 0) 
        return 0;
    else
    {
        r=d2b(n / 2);
        return r*10+(n % 2);
    }
}

int main(int argc, char* argv[])
{
    int n;
    printf("n_d=");
    scanf("%d",&n);
    printf("n_b=%d \n",d2b(n));
    return 0;
}

Решение задачи: «Перевод из двоичной системы в десятичную»

textual
Листинг программы
#include <stdio.h>
#include <string.h>
 
typedef char bin_t[33];
#define get_bin(s) ( scanf("%32s", (s)) == 1 && strlen(s) == strspn((s), "01") )
 
unsigned bin2num(const char * bin) {
    unsigned ret = 0;
    
    for ( ; *bin; ++bin )
        ret = (ret << 1) | (*bin - '0');
    
    return ret;
}
 
 
 
int main(void) {
    bin_t bin;
    
    while ( printf("Binary: ") && get_bin(bin) )
        printf("Decimal: %u\n", bin2num(bin));
    
    return 0;
}

ИИ поможет Вам:


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

Оцени полезность:

8   голосов , оценка 4 из 5
Похожие ответы