MAX_DOUBLE
От: MikaRSDN Soukhov Stock#
Дата: 13.09.02 07:50
Оценка:
как получить махимальное double
Заранее благодарю
Re: MAX_DOUBLE
От: grs Россия  
Дата: 13.09.02 08:01
Оценка:
Здравствуйте MikaRSDN Soukhov, Вы писали:

MS>как получить махимальное double

MS>Заранее благодарю

См. заголовочный файл values.h. Там и определены эти константы.
Re: MAX_DOUBLE
От: Павел Кузнецов  
Дата: 13.09.02 08:06
Оценка: 18 (2)
Здравствуйте MikaRSDN Soukhov, Вы писали:

MS>как получить махимальное double

MS>Заранее благодарю

В С++:

#include <limits>
const double MAX_DOUBLE = std::numeric_limits<double>::max();
<< J 1.0 alpha 4 >>
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
Re[2]: MAX_DOUBLE
От: Анатолий СССР  
Дата: 13.09.02 08:12
Оценка:
grs>См. заголовочный файл values.h. Там и определены эти константы.
А может Вы и этим заголовочным файлом поделитесь
Re[2]: MAX_DOUBLE
От: vladsm Россия  
Дата: 13.09.02 08:15
Оценка:
Здравствуйте grs, Вы писали:

grs>См. заголовочный файл values.h. Там и определены эти константы.


В VС такого хедера нет. Нашел в какой-то борландовской версии. Там константа определена так:

#define MAXDOUBLE    1.797693E+308
Re: MAX_DOUBLE
От: dupamid Россия  
Дата: 13.09.02 09:05
Оценка: 6 (1)
Здравствуйте MikaRSDN Soukhov, Вы писали:

MS>как получить махимальное double


Посмотри DBL_MAX из float.h, там есть все, что может понадобиться.
Re[3]: MAX_DOUBLE
От: grs Россия  
Дата: 13.09.02 09:08
Оценка:
Здравствуйте vladsm, Вы писали:

V>Здравствуйте grs, Вы писали:


grs>>См. заголовочный файл values.h. Там и определены эти константы.


V>В VС такого хедера нет. Нашел в какой-то борландовской версии. Там константа определена так:


V>
V>#define MAXDOUBLE    1.797693E+308
V>


Да, точно. Я в шоке, блин. По идее это стандартный заголовок. По крайней мере есть во всех Borland'овских версиях и в версии компайлера для SCO Unix. Причем в комметарии в Borland'е специально пишется о совместимости с System V5. MS решил, значит, на это дело положить...
Re[2]: MAX_DOUBLE
От: MikaRSDN Soukhov Stock#
Дата: 13.09.02 09:22
Оценка:
Здравствуйте Павел Кузнецов, Вы писали:

ПК>
ПК>#include <limits>
ПК>const double MAX_DOUBLE = std::numeric_limits<double>::max();
ПК>


Это то как раз я и имел ввиду но почему то компилятор ругается

error C2059: syntax error : '::'
error C2589: '(' : illegal token on right side of '::'
warning C4003: not enough actual parameters for macro 'max'
Re[3]: MAX_DOUBLE
От: Bell Россия  
Дата: 13.09.02 09:27
Оценка: 6 (1)
Здравствуйте MikaRSDN Soukhov, Вы писали:

MS>Здравствуйте Павел Кузнецов, Вы писали:


ПК>>
ПК>>#include <limits>
ПК>>const double MAX_DOUBLE = std::numeric_limits<double>::max();
ПК>>


MS>Это то как раз я и имел ввиду но почему то компилятор ругается


MS>
MS>error C2059: syntax error : '::'
MS>error C2589: '(' : illegal token on right side of '::'
MS>warning C4003: not enough actual parameters for macro 'max'
MS>


MS>


Самый тупой способ
#if defined max
#undef max
   double dMax = std::numeric_limits<double>::max();
#define max(a,b)            (((a) > (b)) ? (a) : (b))
#endif


Просто макрос max есть в windef.h
Любите книгу — источник знаний (с) М.Горький
Re[2]: MAX_DOUBLE
От: Vasiliy_Krasnokutsky Россия  
Дата: 13.09.02 10:03
Оценка:
double max_double = -1;
а дальше используешь где надо ...
Re[3]: MAX_DOUBLE
От: dupamid Россия  
Дата: 13.09.02 10:08
Оценка:
Здравствуйте Vasiliy_Krasnokutsky, Вы писали:

VK>double max_double = -1;

VK>а дальше используешь где надо ...

Это юмор, такой? Если да то ставьте Вы пробовали так писать и потом испльзовать?
Re[3]: MAX_DOUBLE
От: grs Россия  
Дата: 13.09.02 10:09
Оценка:
Здравствуйте Анатолий, Вы писали:

grs>>См. заголовочный файл values.h. Там и определены эти константы.

А>А может Вы и этим заголовочным файлом поделитесь

Легко, если адрес дашь, куда писать. А в принципе я надеюсь, что в любом другом компайлере, кроме MS он присутствует. Хотя могу и ошибаться.
Re[4]: MAX_DOUBLE
От: Павел Кузнецов  
Дата: 13.09.02 13:02
Оценка: 27 (2)
Здравствуйте Bell, Вы писали:

B>Самый тупой способ

B>#if defined max
B>#undef max
B>   double dMax = std::numeric_limits<double>::max();
B>#define max(a,b)            (((a) > (b)) ? (a) : (b))
B>#endif

B>Просто макрос max есть в windef.h

Менее "тупой" способ:
const double dMax = (std::numeric_limits<double>::max)();
<< J 1.0 alpha 4 >>
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
Re[5]: MAX_DOUBLE
От: MikaRSDN Soukhov Stock#
Дата: 13.09.02 13:41
Оценка: 6 (1)
Здравствуйте Павел Кузнецов, Вы писали:

ПК>Здравствуйте Bell, Вы писали:


B>>Самый тупой способ

ПК>
B>>#if defined max
B>>#undef max
B>>   double dMax = std::numeric_limits<double>::max();
B>>#define max(a,b)            (((a) > (b)) ? (a) : (b))
B>>#endif
ПК>

B>>Просто макрос max есть в windef.h

ПК>Менее "тупой" способ:

ПК>
ПК>const double dMax = (std::numeric_limits<double>::max)();
ПК>


Насчет тупости и не тупости в windef.h(где определены min max) есть опоясывающие макросы
Так что достаточно их встивать перед windows.h и можно юзать numeric_limits без шаманства
Re[4]: MAX_DOUBLE
От: Андрей Тарасевич Беларусь  
Дата: 14.09.02 05:45
Оценка:
Здравствуйте grs, Вы писали:

grs>Здравствуйте vladsm, Вы писали:


V>>Здравствуйте grs, Вы писали:


grs>>>См. заголовочный файл values.h. Там и определены эти константы.


V>>В VС такого хедера нет. Нашел в какой-то борландовской версии. Там константа определена так:


V>>
V>>#define MAXDOUBLE    1.797693E+308
V>>


grs>Да, точно. Я в шоке, блин. По идее это стандартный заголовок. По крайней мере есть во всех Borland'овских версиях и в версии компайлера для SCO Unix. Причем в комметарии в Borland'е специально пишется о совместимости с System V5. MS решил, значит, на это дело положить...


Стандартный заголовок называется 'float.h' и константа (макрос) называется DBL_MAX. Я не сомневаюсь, что у MS он есть.
Best regards,
Андрей Тарасевич
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.