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

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

Войти
Регистрация
Восстановить пароль
 
lKORENl
28 / 28 / 5
Регистрация: 26.11.2014
Сообщений: 57
Завершенные тесты: 1
#1

Хранение неточного вещественного числа в переменной - C++

20.01.2016, 10:34. Просмотров 135. Ответов 2
Метки нет (Все метки)

Ввожу в переменную
C#
1
double a = 33.3
в консоли выводит правильно
а при дебаге в точке останова после объявления переменной
ее значение равно 33.22.... и тд.
Почему так?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.01.2016, 10:34     Хранение неточного вещественного числа в переменной
Посмотрите здесь:
C++ Целой переменной D присвоить первую циф¬ру из дробной части вещественного положительного числа
C++ Хранение типа данных в переменной
Написать программу хранения целочисленного, либо вещественного типа данных в переменной C++
C++ Хранение и вызов различных типов функций в одной переменной
Перевод вещественного числа из N сс в K сс C++
C++ Перевод вещественного числа в строку!
C++ Ввод и вывод вещественного числа
Разбиение вещественного числа на байты C++
Вывод вещественного числа в нулями C++
C++ Перевод вещественного десятичного числа в любую СС
C++ Минимально возможное изменение вещественного числа
C++ Последовательность в дробной части вещественного числа

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ilot
Модератор
Эксперт С++
1807 / 1164 / 226
Регистрация: 16.05.2013
Сообщений: 3,060
Записей в блоге: 5
Завершенные тесты: 1
20.01.2016, 10:37     Хранение неточного вещественного числа в переменной #2
Потому что нельзя точно перевести дробное число из двоичной системы счисления в десятичную.
zss
Модератор
Эксперт С++
6321 / 5905 / 1913
Регистрация: 18.12.2011
Сообщений: 15,181
Завершенные тесты: 1
20.01.2016, 10:38     Хранение неточного вещественного числа в переменной #3
Цитата Сообщение от lKORENl Посмотреть сообщение
ее значение равно 33.22....
Скорее не 33.22.... а 33.2999...
Именно из-за неточного представления десятичных знаков такие числа надо считать одинаковыми.
Ответ Создать тему
Опции темы

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