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

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

Войти
Регистрация
Восстановить пароль
 
Donville
0 / 0 / 0
Регистрация: 16.02.2014
Сообщений: 113
#1

Уборка мусора из double - C++

31.05.2014, 22:36. Просмотров 476. Ответов 9
Метки нет (Все метки)

Подскажите, как убрать мусор из числа типа double. Например число 13 на самом деле не 13, а 13.00000001.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.05.2014, 22:36     Уборка мусора из double
Посмотрите здесь:

Сборщик мусора - C++
Доброго вам времени суток! У меня вопрос можно ли автоматизировать удаление объектов размещаемых в куче? (Желательно обойтись только STL).

Сборка мусора - C++
Нужна ли в Си ++ «сборка мусора»? Почему возникает такая проблема и как она решается в Си++?

Очистка мусора - C++
1. Если я на форме, в процессе работы, буду очень часто менять изображения на одном и том же pictureBox, то форма будет занимать большой...

Функции и сборка мусора - C++
Незнаю, туда ли поместил... Вобщем ситуация такая: про new(malloc()) и delete(free()) таки знаю немало, как и про динамическую(свободную)...

Компилятор генерирует мегабайты мусора - C++
Недавно скачал компилятор Си. Мне понравилось, что он небольшой и простенький. Давно хотел создавать экзешники. Написал пустое окно. Размер...

Как избавиться от записи мусора? - C++
#include <string.h> #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <iostream.h> #include <iostream> ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
12979 / 7291 / 812
Регистрация: 27.09.2012
Сообщений: 18,007
Записей в блоге: 3
Завершенные тесты: 1
31.05.2014, 22:37     Уборка мусора из double #2
Цитата Сообщение от Donville Посмотреть сообщение
Например число 13 на самом деле не 13, а 13.00000001.
Представление вещественных чисел "на пальцах"
Voivoid
673 / 276 / 12
Регистрация: 31.03.2013
Сообщений: 1,339
31.05.2014, 22:43     Уборка мусора из double #3
Лол, я уж сначала подумал, что сейчас что-нибудь новенькое про garbage collection почитаю
Psilon
Master of Orion
Эксперт .NET
5848 / 4745 / 628
Регистрация: 10.07.2011
Сообщений: 14,285
Записей в блоге: 5
Завершенные тесты: 4
31.05.2014, 22:51     Уборка мусора из double #4
Donville,
английский вариант: http://docs.oracle.com/cd/E19957-01/..._goldberg.html
русский вариант: http://habrahabr.ru/post/112953/

Добавлено через 35 секунд
Voivoid, к сожалению, в языках с GC double все равно не убирается сборщиком
Tulosba
:)
Эксперт С++
4392 / 3235 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
31.05.2014, 23:11     Уборка мусора из double #5
Цитата Сообщение от Psilon Посмотреть сообщение
в языках с GC double все равно не убирается сборщиком
C++
1
double^ d = gcnew double(42);//C++ CLI
Кто будет освобождать память по-Вашему?
Donville
0 / 0 / 0
Регистрация: 16.02.2014
Сообщений: 113
31.05.2014, 23:32  [ТС]     Уборка мусора из double #6
То есть если у меня есть цикл, например, while (x1<=x2), то его нужно заменить так: while(fabs(x2-x1)>=0.0001)?
Psilon
Master of Orion
Эксперт .NET
5848 / 4745 / 628
Регистрация: 10.07.2011
Сообщений: 14,285
Записей в блоге: 5
Завершенные тесты: 4
01.06.2014, 00:26     Уборка мусора из double #7
Tulosba, double является псевдонимом System.Double, являющегося структурой, следовательно gcnew по барабану, при выходе из области видимости структуры автоматически удаляются.

Добавлено через 2 минуты
Donville, нет, сравнение с эпислон нужно заменять вместо x1 == x2. А меньше и больше можно использовать как обычно.
Tulosba
:)
Эксперт С++
4392 / 3235 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
01.06.2014, 00:38     Уборка мусора из double #8
Цитата Сообщение от Psilon Посмотреть сообщение
double является псевдонимом System.Double, являющегося структурой, следовательно gcnew по барабану, при выходе из области видимости структуры автоматически удаляются.
Неужели? А здесь что будет тогда при выходе из функции?
C++
1
2
3
4
5
double^ f()
{
    double^ d = gcnew double(42);
    return d;
}
Donville
0 / 0 / 0
Регистрация: 16.02.2014
Сообщений: 113
01.06.2014, 01:25  [ТС]     Уборка мусора из double #9
Psilon, у меня просто теряется одна итерация. На последнем проходе цикла у меня x1 = 12.00000001, a x2 = 13 пользователь задает сам.

Добавлено через 17 минут
Это как пример.

Добавлено через 8 минут
C++
1
2
3
4
5
6
7
8
9
10
11
...
cout << "Bbedute x1"<<endl;
cin >> x1;
cout << "Bbedute x2"<<endl;
cin >> x2;
cout << "Bbedute shag"<<endl;
cin >> sh;
while (x1<=x2)
{
    x1 = x1+sh;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.06.2014, 04:08     Уборка мусора из double
Еще ссылки по теме:

Укоротить переменную от мусора в конце. - C++
Добрый день. Хочу задать один вопрос. Я объявил 2 переменные. char rezstr; и char RetWhot; Первую в начале библиотеки использую...

Выводит кучу мусора в файл - C++
В общем, програма должна вывести в файл все строки исходного файла, в которых есть подстрока &quot;Hello!&quot; #include &lt;cstdio&gt; using namespace...

Помогите почистить готовую прогу от мусора - C++
Всем привет. Задание - вычислить матрицу Уолша-Адамара. (сомневаюсь что кто-то вообще знает, что это такое О.о) Суть проблемы: ...

Вывод мусора после отработки функции - C++
#include &lt;iostream&gt; #include &lt;conio.h&gt; void Binary(char *&amp;,int); using namespace std; int main() { int number; char * str =...


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

Или воспользуйтесь поиском по форуму:
Psilon
Master of Orion
Эксперт .NET
5848 / 4745 / 628
Регистрация: 10.07.2011
Сообщений: 14,285
Записей в блоге: 5
Завершенные тесты: 4
01.06.2014, 04:08     Уборка мусора из double #10
Tulosba, 42 же.

Вообще по CLI я не сильно большой спец, но вот .Net неплохо знаю. При любых обстоятельствах структура уничтожается, а если возвращается, то копируется по значению, то есть возвращается копия.

Добавлено через 1 час 59 минут
Tulosba, а вообще
http://developerslife.ru/256
Yandex
Объявления
01.06.2014, 04:08     Уборка мусора из double
Ответ Создать тему
Опции темы

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