Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 18.10.2019
Сообщений: 2
1

Не выполняется инструкция if

29.05.2021, 20:33. Показов 1803. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
double max_i = 4294967295;
double max_d = 9223372036854775807.0;
 
 
if (zerno[0] > max_i && zerno[0] < max_i + 3)
       cout << "бла,бла,бла\n";
 
if (zerno[0] > max_d && zerno[0] < max_d + 2)     
    cout << "бла,бла,бла\n";
компилятор пропускает второй if Почему?
Если что то менять местами бесполезно(тогда первый if будет пропускаться).

Добавлено через 7 минут
На определённой итерации цикла zerno[0] становиться равно 9223372036854775808.0
то есть условие true. но компилятор его упорно пропускает?

Добавлено через 1 минуту
double zerno[1]
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.05.2021, 20:33
Ответы с готовыми решениями:

Gulp browserSync код то выполняется в событии load, то не выполняется
Как сказано из названии темы код то выполняется в событии load, то не выполняется. При самом первом...

Проект выполняется на Windows 8, но не выполняется на виртуальной машине
У меня есть проект, собранный в релиз, в котором осуществляется внедрение своей dll в память чужих...

Z>7 то выполняется задача ((X^2)*ln(sinx))/1+x^3 где x от 2 до 8 выполняется с шагом 0,2
Как написать программу, если Z&gt;7 то выполняется задача ((X^2)*ln(sinx))/1+x^3 где x от 2 до 8...

Код не выполняется в одном месте, но выполняется в другом
Вот код процедуры: LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)...

3
Модератор
Эксперт С++
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,712
29.05.2021, 21:13 2
Лучший ответ Сообщение было отмечено andreil81 как решение

Решение

Мантисса переменной типа double вмещает примерно 16 значащих цифр.
Цитата Сообщение от andreil81 Посмотреть сообщение
9223372036854775808.0
а здесь их 18.
В памяти оба числа будут равны
9.2233720368547758e+018
1
Вездепух
Эксперт CЭксперт С++
11695 / 6374 / 1724
Регистрация: 18.10.2014
Сообщений: 16,068
29.05.2021, 22:24 3
Цитата Сообщение от andreil81 Посмотреть сообщение
На определённой итерации цикла zerno[0] становиться равно 9223372036854775808.0
то есть условие true. но компилятор его упорно пропускает?
max_d и max_d + 2 - одно и то же число. Поэтому условие во втором if никак не может быть истинным.
1
0 / 0 / 0
Регистрация: 18.10.2019
Сообщений: 2
30.05.2021, 08:32  [ТС] 4
Спасибо! Не обратил на это внимание сразу. Программа начинает корректно выполняться если уменьшить это число до 16 знаков.
0
30.05.2021, 08:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.05.2021, 08:32
Помогаю со студенческими работами здесь

Invoke-Command выполняется на w7 но не выполняется на w10
Стоит задача: нужно прочитать значения определенных значений реестра на рабочих станциях ЛВС. ...

не выполняется запрос в коде, но выполняется в phpliteadmin
всем привет! необходима небольшая помощь, есть бд с таблицей &quot;keys&quot; и одной из колонок в ней -...

Запрос выполняется в SSMS, но не выполняется в коде C#
Есть некоторый сервер с проверкой подлинности sql. Нужно выполнить хранимую процедуру, которая...

Нужно передать файл, расположенный на рабочей станции, на которой выполняется сервер, на рабочую станцию​​, на которой выполняется клиент. MailSlot
Ребята. Нужна помощь. Нужно передать файл, расположенный на рабочей станции, на которой...

Инструкция try..except
Добрый вечер. Ребята, нужна Ваша помощь. Суть проблемы в следующем: Имеется ...

инструкция if
#include &lt;iostream&gt; using namespace std; int main() { std::locale().global(std::locale(&quot;&quot;));...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru