С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/21: Рейтинг темы: голосов - 21, средняя оценка - 4.86
47 / 47 / 31
Регистрация: 02.04.2016
Сообщений: 312
1

Откуда берутся лишние цифры в double?

19.04.2016, 20:22. Показов 3895. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
У меня значения из примера выше близкие к правильным, но есть косяки - 1)в числе 3.12, откуда то появилась единица в самом последнем разряде,2) из числа 0.15 эта самая единица пропала, и стало число 0.14999...9, эта особенность один раз уже со мной играла недобрую шутку(надо было ввести число с точкой, а потом целую часть перевести в один int, а первые 2 цифры дробной части в другой int, в итоге одна единица терялась при делении)
Миниатюры
Откуда берутся лишние цифры в double?  
0
Лучшие ответы (1)
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Блог
19.04.2016, 20:22
Ответы с готовыми решениями:

Откуда берутся лишние элементы?
String String::operator + (String right){ int len = strlen(this->myString) +...

Откуда берутся лишние символы при создании массива с помощью оператора new?
Здравствуйте) Наблюдаю странное поведение оператора new. ifstream is;...

Появляются лишние цифры после запятой при считывании в переменную типа double
Считываю в переменную double pow число 2.56 и вместо нормальной записи в конец числа добаляеться...

Откуда берутся лишние файлы index.html
Здравствуйте! Проблема в том, что во всех папках сайта на joomla вдруг появляются файлы index.html...

1
Модератор
Эксперт по электронике
8950 / 6716 / 921
Регистрация: 14.02.2011
Сообщений: 23,710
19.04.2016, 21:18 2
Лучший ответ Сообщение было отмечено Stitch Igorek как решение

Решение

Цитата Сообщение от Stitch Igorek Посмотреть сообщение
1)в числе 3.12, откуда то появилась единица в самом последнем разряде,2) из числа 0.15 эта самая единица пропала, и стало число 0.14999...9, эта особенность
для этого нужно знать как хранятся числа с плавающей запятой в памяти компьютера
почитай например здесь
https://www.cyberforum.ru/blogs/18334/blog88.html
Цитата Сообщение от Stitch Igorek Посмотреть сообщение
надо было ввести число с точкой, а потом целую часть перевести в один int, а первые 2 цифры дробной части в другой int, в итоге одна единица терялась при делении)
нужно вводить корректирующий коэффициент, например так
C++
1
2
3
4
double a=12.3456789;
int b=(int)(a*100+0.5);
int c=b/100;
int d=b%100;
но это совсем другая история....
к отладчику отношения не имеет
0
19.04.2016, 21:18
BasicMan
Эксперт
19315 / 2622 / 84
Регистрация: 17.02.2009
Сообщений: 10,364
Блог
19.04.2016, 21:18
Помогаю со студенческими работами здесь

Есть ли смысл в написании правил. Или откуда берутся лишние слеши
Есть ли смысл в написании правил по удалению лишних слешей (Если они есть надо их удалить, это...

Откуда в float лишние цифры??
вот тупой код и по логике должно вывести 1,4 (1 + 0,4) а выводит 1,40000000038212 (что то похожее)...

Откуда берутся фотоны?
Берем проводник электрического тока и пропускаем через него ток. Проводник нагревается и начинает...

Откуда берутся повторения
Почему, когда я запускаю программу в 1 поток, то повторений нету, а когда в 5 то время от времени...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru