Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Димон_
136 / 104 / 1
Регистрация: 30.01.2011
Сообщений: 699
#1

Ошибка с циклом While. По разному работает с double и float, хотя должен бы одинаково - C++

24.10.2013, 16:30. Просмотров 343. Ответов 2
Метки нет (Все метки)

Здравствуйте.
Абсолютно не понимаю, почему
C++
1
2
3
4
5
6
7
8
double x;
//---
x=0.1;
while(x <= 0.3)
{
  //---
  x+=0.2;
}
Выполняется один раз, а код ниже - два раза.
C++
1
2
3
4
5
6
7
8
double x;
//---
x=0.1;
while(x <= 0.3f)
{
  //---
  x+=0.2;
}
Как бы и тот и другой должны два раза..в чем же тогда разница? И как объяснить преподу, почему я f поставил ?
Спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.10.2013, 16:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка с циклом While. По разному работает с double и float, хотя должен бы одинаково (C++):

Неправильно работает cout для чисел типа double и float - C++
Здравствуйте. Скажите, почему эта программа выводит на экран число 2, а не 2.5 ? #include &lt;iostream.h&gt; int main() { double...

Преобразовать 2 числа int в 1 число float(double) | double int1.int2 - C++
Всем привет. Изучая азы C++, столкнулся с такой проблемой. Есть два значения типа int, их необходимо преобразовать в одно значение типа...

опять ошибка.на этот раз cannot convert `float (*)(float)' to `float' in argument passing - C++
#include&lt;stdio.h&gt; #include&lt;stdlib.h&gt; #include&lt;math.h&gt; float f1(float x)/*vira*enie 1*/ {return (x*cos(x))/(1+ pow(x,2));} ...

Почему для Double и для Integer переполнение работает по разному? - Java SE
забавный код System.out.println(Double.MAX_VALUE+23414 == Double.MAX_VALUE);//true System.out.println(Integer.MAX_VALUE+23414 ==...

Не работает микрофон, хотя по всем параметрам должен... - Звук, акустика
Добрый день всем! У меня очень странная штука происходит с микрофоном. Может, кто-нибудь сможет подсказать, в какую сторону тут надо...

Как обойтись без float, double, long double? - Программирование
К примеру мне надо в программе использовать что-то вроде -0,00000000000003626686812 и 0,00000000000002072392464. Притом чтобы считалось...

2
Croessmah
Ушел
Эксперт CЭксперт С++
13563 / 7714 / 873
Регистрация: 27.09.2012
Сообщений: 18,996
Записей в блоге: 3
Завершенные тесты: 1
24.10.2013, 16:38 #2
Представление вещественных чисел "на пальцах"
1
Raali
638 / 342 / 42
Регистрация: 06.07.2013
Сообщений: 1,107
Завершенные тесты: 1
24.10.2013, 16:40 #3
а ты выведи на экран результаты x в каждой итерации и узнаешь)
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.10.2013, 16:40
Привет! Вот еще темы с ответами:

Цикл for и тип double. Переменная округляется, хотя объявлена как Double - C#
using System; class zada4ka_5_32 { static void Main() { int n; double sum = 0.0; double j;...

Ошибка: error LNK2001: unresolved external symbol "double __cdecl Akk(double,double,double)" - C++
#include &lt;iostream&gt; #include &lt;cmath&gt; using namespace std; double Akk(double x, double y, double z); int main() { int a, b, c; ...

Long float и double - C++
В чем отличие long float от double?

float double int - C++
Доброй ночи, препод совсем запарил, то ему не так, то ему не эдак. // 8.2.cpp: определяет точку входа для консольного приложения. // ...


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

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

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