Перевод из двоичной системы в десятичную - 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;
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д