0 / 0 / 0
Регистрация: 22.01.2015
Сообщений: 5

Почему x меньше 1?

22.01.2015, 17:34. Показов 547. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
 
int main (void)
{
 
double x = 0.7;
 
while (x < 1.2) {
  printf("x = %.1f\n", x);
  if (x < 1) printf ("x < 1 !\n");
  x += 0.1;
  }
}
вывод программы:

C++
1
2
3
4
5
6
7
8
9
x = 0.7
x < 1 !
x = 0.8
x < 1 !
x = 0.9
x < 1 !
x = 1.0
x < 1 !
x = 1.1
Почему в выводе появляется строка №8?
Компилятор: g++ 4.8.2
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.01.2015, 17:34
Ответы с готовыми решениями:

Почему при условие сравнения "меньше или равно" получается только "меньше"
Почему при условие сравнения &quot;меньше или равно&quot; получается только &quot;меньше&quot;

Определить количество элементов массива, которые меньше предыдущего и меньше последующего
В целочисленном,одномерном массиве определить кол-во элементов, которые меньше предыдущего и меньше последующего

Почему когда меньше 10 чисел выбивает ошибка
Почему когда я ввожу меньше 10 чисел у меня выбивает ошибка? int n=Edit1-&gt;Text.Length(); if (n&gt;10) {ShowMessage...

4
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
22.01.2015, 17:41
Округляется при выводе.
C++
1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
 
int main()
{
    double x = 0.7;
    while ( x < 1.2 ) {
        printf( "x = %20.18f\n", x );
        if ( x < 1 ) printf( "x < 1 !\n" );
        x += 0.1;
    }
}
x = 0.699999999999999960
x < 1 !
x = 0.799999999999999930
x < 1 !
x = 0.899999999999999910
x < 1 !
x = 0.999999999999999890
x < 1 !
x = 1.099999999999999900
0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
22.01.2015, 17:41
Цитата Сообщение от dmnsk Посмотреть сообщение
Почему в выводе появляется строка №8?
потому что с плавающими такие штучки не проходят
1.0 в памяти вполне может лежать как 0.99999
почитай в блогах у Evg
https://www.cyberforum.ru/blogs/18334/blog88.html
0
0 / 0 / 0
Регистрация: 22.01.2015
Сообщений: 5
22.01.2015, 18:09  [ТС]
ValeryS, castaway, спасибо
0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
22.01.2015, 18:20
на всякий случай
как сравнивают числа с плавающей запятой
вводят погрешность
например
C++
1
2
3
if(n==1.0) // так неправильно
double eps=0.0001;// вот это и есть погрешность от неё зависит точность
if(fabs(n-1.0)<eps)// если разность меньше погрешности то считаем что совпали,fabs это функция которая возвращает модуль
это как в жизни расстояния между городами меряют в километрах но не в ангстремах
еще раз приведу цитату, проводил в другой теме
После первых измерений ему показалось, что картина распределения
получится слишком грубой. Он решил уточнить методику. Перебрал несколько
сортов нитей подвески. Поставил сверхчувствительный гальванометр. Затем
ему пришло в голову автоматически стабилизировать температуру прибора.
Учесть искажающее влияние трансформатора...
- Почему вы не учитываете полярных сияний? Заряды кота у сторожихи? -
спросил его Аникеев. - Вы больны. Болезнь называется "немогуостановиться".
Научитесь себя ограничивать. Получили примерную величину и двигайте
дальше. Искать истину в последней инстанции - зряшный труд. И существует
ли она, эта последняя инстанция?
Д. Гранин "Иду на грозу"
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.01.2015, 18:20
Помогаю со студенческими работами здесь

Почему флэшка стала меньше?
Флэшка в 4 Гб почему-то стала 1,9 Гб и показывает что на ней 80% занято, хотя файлов на ней никаких нет, даже скрытых. Флешке лет 5, с...

Почему в Fallout 4 меньше 20 FPS?
Купил новую видеокарту, а ФПСа нет, хотя текстуры стали быстро грузиться. Вот мой комп: Системная плата: Тип ЦП ...

Почему реальная скорость меньше заявленной ?
Здравствуйте. Есть такая проблема: в тарифе заявленная скорость 5 мб/c, когда например качаешь файл скорость не превышает 700 кб/c, хотя...

Почему у фразы с бОльшей частотностью меньше CTR?
Создаю кампанию и вижу, что некоторые из фраз не принимаются из-за низкого CTR (подсвечены серым), в то время, как частотность их намного...

Почему при выводе если х меньше 1 (-1.IND00)
#include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;math.h&gt; int main(int argc, char *argv) { double a, b ,K ,L ,x ,y; L=0.01; ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru