Функция: вычислить значение числа по записи этого числа в двоичной системе счисления - C (СИ)
Формулировка задачи:
Назначение: вычисляет десятичное значение целого числа по заданной строке символов s, который является записью этого числа в двоичной системе счисления.
Постановка задачи
В соответствии с вариантом задания составить функцию для обработки символьных строк и программу для проверки работоспособности функции. За образец можно брать библиотечные функции обработки строк языка С, но не использовать их в своей функции.
При выполнении 1-го задания необходимо:
1. Строки для тестирования функции вводить в главной программе с клавиатуры.
2. Предусмотреть обработку ошибок в задании параметров и особые случаи.
3. Разработать два варианта заданной функции с использованием:
а) индексированных массивов;
б) указателей.
Решение задачи: «Функция: вычислить значение числа по записи этого числа в двоичной системе счисления»
textual
Листинг программы
- #include<stdio.h>
- #include<conio.h>
- long bin_to_dec(char *s, int *err)
- {
- short i;
- long res = 0;
- *err = 0;
- for (i = 0; i < sizeof(long) * 8 && s[i]; ++i)
- {
- if (s[i] != '0' && s[i]!='1') {
- *err = 1;
- return 0;
- }
- res <<= 1;
- res |= (s[i] - '0');
- }
- return res;
- }
- int main(void)
- {
- char s[100]; int err; long res;
- printf("Введи двоичное число\n");
- scanf("%s", s);
- res = bin_to_dec(s, &err);
- if (err) printf("Ошибочный ввод:%s\n", s);
- else printf("Bin = %s Dec = %ld\n", s, res);
- _getch();
- return 0;
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д