Определение знака числа: есть ли стандартная функция ?
От: Advanced_User Израиль  
Дата: 18.07.03 10:44
Оценка: :))) :)
Я что-то не нашёл
Re: Определение знака числа: есть ли стандартная функция ?
От: Dimka Россия  
Дата: 18.07.03 10:54
Оценка: +1
Здравствуйте, Advanced_User, Вы писали:

A_U>Я что-то не нашёл

гммм

if (Число > 0)
if (Число < 0)
вроде стандартно ...
- нельзя впихать невпихуемое :)
Re: Определение знака числа: есть ли стандартная функция ?
От: Sync  
Дата: 18.07.03 10:55
Оценка:
Здравствуйте, Advanced_User, Вы писали:

A_U>Я что-то не нашёл


а чем тебе if не нравится ?
if число < 0
  отрицательное
else
 положительное
Re[2]: Определение знака числа: есть ли стандартная функция
От: AlexanderK Россия  
Дата: 18.07.03 11:38
Оценка:
Здравствуйте, Sync, Вы писали:

S>а чем тебе if не нравится ?

S>
S>if число < 0
S>  отрицательное
S>else
S> положительное точнее - не отрицательное
S>
Чтобы хорошо работать, надо получать от этого удовольствие! (c) Michael Schumacher

Re[2]: Определение знака числа: есть ли стандартная функция
От: Аноним  
Дата: 18.07.03 12:02
Оценка:
Здравствуйте, Sync, Вы писали:

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


A_U>>Я что-то не нашёл


S>а чем тебе if не нравится ?

S>
S>if число < 0
S>  отрицательное
S>else
S> положительное
S>


В одну строчку было бы — красивее
(Про inline знаю )
Re[3]: Определение знака числа: есть ли стандартная функция
От: Аноним  
Дата: 18.07.03 12:04
Оценка:
А>(Про inline знаю )

i > 0 ? x = -1 : i ? x = 1 : x = -1;
Re[4]: Определение знака числа: есть ли стандартная функция
От: Аноним  
Дата: 18.07.03 12:06
Оценка:
Здравствуйте, Аноним, Вы писали:

А>>(Про inline знаю )


Ошибка, имелось в виду такое

i > 0 ? sign = 1 : i ? x = 1 : x = 0;
Re[5]: Определение знака числа: есть ли стандартная функция
От: Аноним  
Дата: 18.07.03 12:07
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, Аноним, Вы писали:


А>>>(Про inline знаю )


А>Ошибка, имелось в виду такое


А>i > 0 ? sign = 1 : i ? x = -1 : x = 0;
Re[3]: Определение знака числа: есть ли стандартная функция
От: Андрей Тарасевич Беларусь  
Дата: 18.07.03 17:35
Оценка: 16 (5)
Здравствуйте, Аноним, Вы писали:

A_U>>>Я что-то не нашёл


S>>а чем тебе if не нравится ?

S>>
S>>if число < 0
S>>  отрицательное
S>>else
S>> положительное
S>>


А>В одну строчку было бы — красивее

А>(Про inline знаю )

Вот тебе в одну строчку

int sign = (a > 0) - (a < 0);


Результат — -1, 0, +1.
Best regards,
Андрей Тарасевич
Re: Определение знака числа: есть ли стандартная функция ?
От: Андрей Тарасевич Беларусь  
Дата: 18.07.03 18:04
Оценка:
Здравствуйте, Advanced_User, Вы писали:

A_U>Я что-то не нашёл


А что такое "функция определения знака числа"? В каком виде она, по-твоему, должна возвращать результат?
Best regards,
Андрей Тарасевич
Re: Определение знака числа: есть ли стандартная функция ?
От: Akzhan Россия http://www.akzhan.midi.ru/devcorner/
Дата: 18.07.03 19:24
Оценка:
Здравствуйте, Advanced_User, Вы писали:

A_U>Я что-то не нашёл



template<typename NumberType>
inline NumberType sign(NumberType number)
{
  return
    (number == static_cast<NumberType>(0)) ? static_cast<NumberType>(0) :
    (
       (number > static_cast<NumberType>(0)) ? static_cast<NumberType>(1) : static_cast<NumberType>(-1)
    );
}
С уважением,
Акжан, http://www.akzhan.midi.ru/devcorner/ — мой уголок разработчика
Re: Определение знака числа: есть ли стандартная функция ?
От: Boffin Израиль  
Дата: 19.07.03 01:50
Оценка:
Здравствуйте, Advanced_User, Вы писали:

A_U>Я что-то не нашёл


Можно например:
int sign=x/abs(x+!x);
Dreams were created to become reality
Re[2]: Определение знака числа: есть ли стандартная функция
От: WolfHound  
Дата: 19.07.03 03:44
Оценка:
Здравствуйте, Boffin, Вы писали:

B>int sign=x/abs(x+!x);



template<class T>
T sign(T x)
{
    return x<0?-1:x==0?0:-1;
}
... << RSDN@Home 1.1 alpha 1 >>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[3]: Определение знака числа: есть ли стандартная функция
От: Advanced_User Израиль  
Дата: 19.07.03 09:49
Оценка:
Всем ответившим — большое
Мне просто показалось странным, что функция abs есть, а sign — нет