Функция, переводящая число из double в short (в случае потери точности выдавать предупреждение) - C (СИ)

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

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

функция переводит число из double в short, при этом в случае потери точности функция должна выдавать предупреждение на экран. Число вводить с клавиатуры. Реализовать алгоритм работы программы внутри тела функции.

Решение задачи: «Функция, переводящая число из double в short (в случае потери точности выдавать предупреждение)»

textual
Листинг программы
short doublt2short(double d) {
    short res = (short)d;
    long l = (long)d;
    if (l != res) {
        printf("WARNING\n");
    } else {
        if ( fabs(d-l) > 1.0e-7 ) {
            printf("WARNING");
        }
    }
    return res;
}

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

  1. В функции doublt2short(double d) есть переменная d типа double, которая содержит число, которое нужно перевести в short.
  2. Сначала число приводится к типу short с помощью явного приведения типов (short res = (short)d;).
  3. Затем число приводится к типу long с помощью явного приведения типов (long l = (long)d;).
  4. Переменная l содержит результат преобразования числа d к типу long.
  5. Сравниваются значения переменных res и l. Если они не равны, то выводится сообщение WARNING с помощью функции printf.
  6. Если значения переменных res и l равны, то проверяется разница между числами d и l с помощью функции fabs(d-l). Если эта разница больше 1.0e-7, то выводится сообщение WARNING с помощью функции printf.
  7. Функция возвращает значение переменной res.

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


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

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

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