Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
hofmn
Helter Skelter
61 / 61 / 1
Регистрация: 19.09.2012
Сообщений: 133
#1

Объясните условие задачи - C++

21.02.2013, 00:48. Просмотров 446. Ответов 1
Метки нет (Все метки)

Опишите функцию деления двух чисел с плавающей запятой, обработайте ошибку переполнения снизу (underflow) и ошибку переполнения сверху (overflow).

Не могу понять суть задачи. Речь идет о диапазоне допустимых значений дла типа float?
Если да, то как реализовать такую ​​проверку?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.02.2013, 00:48     Объясните условие задачи
Посмотрите здесь:

Объясните условие задачи - C++
Подскажите пожалуйста, что требуется сделать в задании.

Объясните условие - C++
Имеются числа А1,А2,...,АN и B1,B2,...,BN. Составить из них N пар (Аi, Bj) таким образом, чтобы сумма произведений пар была максимальна...

Объясните, что проверяет условие if - C++
char str, *Slovo; printf("Vvedite text: "); if ( !fgets(str,256, stdin)) { fprintf(stderr, "Ne...

Объясните как реализовать следующее условие? - C++
Вычислить и напечатать таблицу трёх функций y, z, w. Аргумент x меняется от x0 до xk с шагом h. Функция y задана сходящимся рядом, сумму...

Объясните пожалуйста, почему не работает условие! - C++
Начал изучать классы, хочу понять как работать с приватными переменнами! Есть такой вот метод: char* student::returnName() { ...

Объясните условия задачи - C++
Проверка на симпатичность. Рассмотрим таблицу, содержащую n строк и m столбцов, в каждой клетке которой расположен ноль или единица....

Задачи на условие... - C++
2. Определить, имеется ли среди чисел a, b, c хотя бы одна пара взаимно противоположных чисел. 3. Два прямоугольника, расположенные в...

условие задачи - C++
Ввести массив вещественных чисел. Найти и вывести номер элемента, для которого сумма разностей с соседними элементами максимальна....

Условие задачи - C++
Здравствуйте уважаемые программисты. Вот задали задачу, а условия понять не могу. Задача: Даны натуральные числа n,m. Получить сумму m...

Условие задачи - C++
Определить корень уравнения x*1.1=e-x( икс умножить на 1.1=е-х) при x0=0.55 с точностью 10-4( 10 в – 4 степени). Заранее вам спасибо...

условие задачи - C++
здравствуйте.дана следующая задача-Дан массив размера N. Определить количество его промежутков монотонности (то есть участков, на которых...

Непонятное условие задачи - C++
Создать класс Array --- одномерный массив целых чисел c задаваемыми границами индексов c возможностью задания отрицательных индексов....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
OhMyGodSoLong
~ Эврика! ~
1243 / 992 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
21.02.2013, 01:23     Объясните условие задачи #2
Да.

Смотрите. Ненулевое число с плавающей запятой имеет вид –1s × m × 2e ≡ (s, m, e). Очевидно, частное двух таких чисел (s1, m1, e1) / (s2, m2, e2) = (s1s2, m1 / m2, e1e2). На второй элемент кортежа накладывается ограничение: 1 ≤ m1 / m2 < 2, так что фактически частное должно быть в виде (s1s2, m3, e1e2 + en), где en — нормализующий порядок, который вводится для того, чтобы m3 было в правильных границах. Так вот, у чисел с плавающей запятой ограничен диапазон порядков: для float это [–126, +127], для double — [–1022, +1023]. Если e1e2 + en туда не влезает, то у вас переполнение.

Единственная деталь — денормализованные числа. Нижнюю границу порядка можно понизить ещё максимум на 23 (для float) или 52 (для double), но ценой точности. Делается это смещением m3 в диапазон (0, 1).
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru