Вычислить двоичное представление заданного десятичного числа - C (СИ)

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

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

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

Решение задачи: «Вычислить двоичное представление заданного десятичного числа»

textual
Листинг программы
  1. #include <stdio.h>
  2.  
  3. void binprint(unsigned n) {
  4.     if ( n )
  5.         binprint(n >> 1);
  6.     printf("%u", n & 1);
  7. }
  8.  
  9. int main(void) {
  10.     binprint(255);
  11.     printf("\n");
  12.     binprint(5);
  13.     printf("\n");
  14.     binprint(19);
  15.     printf("\n");
  16.  
  17.     return 0;
  18. }

Объяснение кода листинга программы

В данном коде выполняется вычисление двоичного представления заданного десятичного числа.

  1. Функция binprint(unsigned n) принимает в качестве аргумента десятичное число n и рекурсивно вызывает саму себя, предварительно сдвигая число влево на 1 разряде (n >> 1). Если число не равно нулю, то есть имеет 1 в младшем бите, то рекурсия продолжается. В противном случае, когда число становится равным нулю, рекурсия завершается и в консоль выводится единица (printf(%u, n & 1));
  2. Функция main(void) является точкой входа в программу. В ней вызывается функция binprint(255);, которая вычисляет двоичное представление числа 255. Затем выводится символ новой строки (\n), чтобы перейти на новую строку. Аналогично выполняется вызов функции binprint(5); для числа 5 и binprint(19); для числа 19.
  3. binprint(255); вычисляет двоичное представление числа 255 и выводит его в консоль.
  4. binprint(5); вычисляет двоичное представление числа 5 и выводит его в консоль.
  5. binprint(19); вычисляет двоичное представление числа 19 и выводит его в консоль.
  6. printf(\n); выводит символ новой строки (\n), чтобы перейти на новую строку.
  7. return 0; указывает на успешный конец работы программы.

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


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

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

7   голосов , оценка 4.714 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы