Функция: вычислить значение числа по записи этого числа в двоичной системе счисления - C (СИ)

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

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

Назначение: вычисляет десятичное значение целого числа по заданной строке символов s, который является записью этого числа в двоичной системе счисления. Постановка задачи В соответствии с вариантом задания составить функцию для обработки символьных строк и программу для проверки работоспособности функции. За образец можно брать библиотечные функции обработки строк языка С, но не использовать их в своей функции. При выполнении 1-го задания необходимо: 1. Строки для тестирования функции вводить в главной программе с клавиатуры. 2. Предусмотреть обработку ошибок в задании параметров и особые случаи. 3. Разработать два варианта заданной функции с использованием: а) индексированных массивов; б) указателей.

Решение задачи: «Функция: вычислить значение числа по записи этого числа в двоичной системе счисления»

textual
Листинг программы
  1. #include<stdio.h>
  2. #include<conio.h>
  3.  
  4. long bin_to_dec(char *s, int *err)
  5. {
  6.     short i;
  7.     long res = 0;
  8.  
  9.     *err = 0;
  10.     for (i = 0; i < sizeof(long) * 8 && s[i]; ++i)
  11.     {
  12.         if (s[i] != '0' && s[i]!='1') {
  13.           *err = 1;
  14.           return 0;
  15.         }
  16.         res <<= 1;
  17.         res |= (s[i] - '0');
  18.     }
  19.     return res;
  20. }
  21.  
  22. int main(void)
  23. {
  24.     char s[100]; int err; long res;
  25.     printf("Введи двоичное число\n");
  26.     scanf("%s", s);
  27.     res = bin_to_dec(s, &err);
  28.     if (err) printf("Ошибочный ввод:%s\n", s);
  29.     else printf("Bin = %s Dec = %ld\n", s, res);
  30.     _getch();
  31.     return 0;
  32.    
  33. }

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


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

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

14   голосов , оценка 3.714 из 5

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

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

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