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

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

Войти
Регистрация
Восстановить пароль
 
Arkaniy
106 / 106 / 6
Регистрация: 29.08.2012
Сообщений: 453
#1

Неверная запись в переменную - C++

05.11.2013, 19:33. Просмотров 236. Ответов 5
Метки нет (Все метки)

Вечер добрый, форумчане. Столкнулся с довольно странной для меня проблемой.
C++
1
2
double x1;
cin>>x1;
Я ввожу значение 0.2, но в переменную записываетя 0.20000000000000001.
Всё бы ничего, но при сравнении этого числа уже неверный результат.
Да и просто интересно стало почему же так.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.11.2013, 19:33     Неверная запись в переменную
Посмотрите здесь:

Запись данных в переменную и в файл C++
C++ Запись даты в переменную
C++. Запись матем. выражений в переменную C++
C++ Чтение из файла и запись в переменную
C++ Неверная запись в файл
C++ Ввод пустой строки и ее запись в переменную
C++ Запись данных в переменную из текстового файла
Запись из файла в переменную C++
C++ Битовые сдвиги. Запись 1-2 байтных переменных в 8 байтную переменную
Побитовая запись в переменную нескольких значений C++
C++ Неверная запись в структуру данных
Выборка элементов массива и их запись в переменную C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Anton_Kretov
89 / 51 / 7
Регистрация: 26.06.2013
Сообщений: 179
05.11.2013, 19:39     Неверная запись в переменную #2
Ну, не знаю...
Миниатюры
Неверная запись в переменную  
Croessmah
Модератор
Эксперт CЭксперт С++
12892 / 7278 / 811
Регистрация: 27.09.2012
Сообщений: 17,978
Записей в блоге: 2
Завершенные тесты: 1
05.11.2013, 19:40     Неверная запись в переменную #3
Цитата Сообщение от Arkaniy Посмотреть сообщение
Я ввожу значение 0.2, но в переменную записываетя 0.20000000000000001.
Таковы особенности представления вещественных чисел.

подробнее: Представление вещественных чисел "на пальцах"
Arkaniy
106 / 106 / 6
Регистрация: 29.08.2012
Сообщений: 453
05.11.2013, 19:45  [ТС]     Неверная запись в переменную #4
Anton_Kretov, так-то да, всё верно. Но в пошаговом отладчике видно, что это не так.
Croessmah, сейчас прочту. Спасибо.
Croessmah
Модератор
Эксперт CЭксперт С++
12892 / 7278 / 811
Регистрация: 27.09.2012
Сообщений: 17,978
Записей в блоге: 2
Завершенные тесты: 1
05.11.2013, 19:47     Неверная запись в переменную #5
Цитата Сообщение от Arkaniy Посмотреть сообщение
Но в пошаговом отладчике видно, что это не так.
так оно и будет.
Цитата Сообщение от Arkaniy Посмотреть сообщение
но при сравнении этого числа уже неверный результат.
сравнивайте с определенной точностью, а не оператором ==
Arkaniy
106 / 106 / 6
Регистрация: 29.08.2012
Сообщений: 453
05.11.2013, 19:51  [ТС]     Неверная запись в переменную #6
\del
Yandex
Объявления
05.11.2013, 19:51     Неверная запись в переменную
Ответ Создать тему
Опции темы

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