Как отправить сообщение из Python на C ++

   float x=1.1;                    
   while (x==1.1)

float и double variables не способны хранить точное значение 1.1, только очень близкое приближение. Точное значение в float и double будет немного отличаться из-за разницы в точности.

1.1 является значением double . Вы храните 1.1 как двойной в поплавок, который немного изменит значение. Затем вы сравниваете его с двойным значением 1.1, поэтому он не будет равным и никогда не войдет в ваше состояние.

Для этого вам нужно написать 1.1f, чтобы убедиться, что вы работаете с тем же тип данных везде. Кроме того, я уверен, что кто-то еще объяснит, почему сравнение значений с плавающей точкой для точного равенства часто является плохой идеей.

0
задан user379468 26 February 2015 в 15:07
поделиться