Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

Минимальное положительное целое число - C++

09.10.2013, 11:14. Просмотров 537. Ответов 3
Метки нет (Все метки)

Братья,нужна помощь.
Вычислить минимальное положительное целое число, которое не является точно представимым в типе double.
Как найти минимальное положительное в типе double не имею даже представления,может кто хотя бы объяснить теор. часть.
Заранее спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.10.2013, 11:14
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Минимальное положительное целое число (C++):

Дано целое число. Вывести его строку-описание вида «отрицательное чет-ное число», «нулевое число», «положительное нечетное число» и т. д. - C++
Дано целое число. Вывести его строку-описание вида «отрицательное чет-ное число», «нулевое число», «положительное нечетное число» и т. д. ...

Дано натуральное число а и целое положительное число d. Вычислить частное q и остаток r при делении а на d - C++
1 Дано натуральное число а и целое положительное число d. Вычислить частное q и остаток r при делении а на d. 2. Дано трехзначное число....

Дано целое положительное число. Проверить истинность высказывания: «Данное число является четным двузначным» - C++
Скоро экзамен , кто чем может ) Помоги ближнему , ибо смех продлевает жизнь...) 7. Дано целое положительное число. Проверить...

Ввести произвольное целое положительное число. Определить число с обратным порядком цифр заданного числа - C++
Я первокурсник, я мало времени уделил обучению(полный дурак, признаю.) но на завтра нужно сдать лабораторную, я понимаю задание, но циклы...

Найти минимальное положительное число. - C++
Помогите решить задачку. Ввести с клавиатуры три вещественных числа. Найти минимальное положительное число. Результат вывести на экран. ...

Найти минимальное положительное число - C++
все вычисляет верно, но желательно оптимизировать, может знает кто? #include <iostream> #include <math.h> using namespace std; ...

3
Algoritmer
155 / 95 / 13
Регистрация: 07.03.2013
Сообщений: 484
Записей в блоге: 1
09.10.2013, 11:26 #2
Вот что нашел в инете:
"Minimum value for double: 2.22507e-308"
0
Fyret
199 / 185 / 20
Регистрация: 30.07.2013
Сообщений: 392
09.10.2013, 12:04 #3
Берем некое положительное число, конвертируем его в double, а потом обратно в целочисленный тип. Если полученное число не равно рассматриваемому - все, double его представляет неточно.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <iostream>
 
bool undoublable( long l )
{
    double d = static_cast< double >( l );
    return l != static_cast< long >( d );
}
 
int main()
{
    const long bigStep = 1000000000L;
    
    long i = 1;
    for( ; i > 0; i += bigStep )
    {
        if( undoublable( i ) )
        {
            break;
        }
    }
    
    for( long k = i - bigStep; k <= i; ++k )
    {
        if( undoublable( k ) )
        {
            std::cout << "Min undoublable: " << k << std::endl;
            break;
        }
    }
    
    return 0;
}
0
CoRReS
0 / 0 / 0
Регистрация: 17.10.2012
Сообщений: 62
15.10.2013, 21:08  [ТС] #4
Цитата Сообщение от Fyret Посмотреть сообщение
Берем некое положительное число, конвертируем его в double, а потом обратно в целочисленный тип. Если полученное число не равно рассматриваемому - все, double его представляет неточно.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <iostream>
 
bool undoublable( long l )
{
    double d = static_cast< double >( l );
    return l != static_cast< long >( d );
}
 
int main()
{
    const long bigStep = 1000000000L;
    
    long i = 1;
    for( ; i > 0; i += bigStep )
    {
        if( undoublable( i ) )
        {
            break;
        }
    }
    
    for( long k = i - bigStep; k <= i; ++k )
    {
        if( undoublable( k ) )
        {
            std::cout << "Min undoublable: " << k << std::endl;
            break;
        }
    }
    
    return 0;
}
У меня не работает и ничего не высчитывает
0
15.10.2013, 21:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.10.2013, 21:08
Привет! Вот еще темы с ответами:

Целое положительное число m записывается в 16-ой системе счисления и разряды в этой записи переставляются в обратном порядке. Получившиеся число прини - C++
ребят помогите!!!!Препод задал 20 задач по программированию,и во не могу сделать эту:&quot;Целое положительное число m записывается в 16-ой...

Найти минимальное положительное число из данного набора - C++
Дано целое число N и набор из N целых чисел. Найти минимальное положительное число из данного набора. Если положительные числа в наборе...

Найти наименьшее целое положительное число K, квадрат которого превосходит N - C++
Не получается решить задачи.... 2)Дано целое число N (&gt; 0). Найти наименьшее целое положительное число K, квадрат которого превосходит N:...

Найти наименьшее целое положительное число К, квадрат которого превосходит N - C++
Данное целое число N (&gt; 0). Найти наименьшее целое положительное число К, квадрат которого превосходит N: К2&gt; N. Функцию нахождения...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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