Как получить только знак в целочисленном значении по цели c? - PullRequest
6 голосов
/ 17 ноября 2011

Мне интересно, как получить только знак целочисленного значения.

Как получить знак целочисленного значения?

Пожалуйста, помогите ..

что я хочу)

int value =  100;  ====>  result :  1
int value = -100;  ====>  result : -1
int value =    0;  ====>  result :  0

Ответы [ 5 ]

10 голосов
/ 17 ноября 2011

Trivial.

int signum(int n) { return (n < 0) ? -1 : (n > 0) ? +1 : 0; }
4 голосов
/ 12 февраля 2015

Использование signbit(x) объявлено в math.h

2 голосов
/ 17 февраля 2013
(int)signOfInteger:(int)integer {

        return (integer > 0) - (integer < 0);

}
1 голос
/ 08 июня 2014

signOfIntegerOrFloat = (x-fabs (x))> 0,0? 1: ((x-fabs (x)) <0,0? -1: 0) </p>

float = fabsf (плавать) - для float

double = fabs (double) - для двойных

long double = fabsl (long double) - для длинных double

1 голос
/ 17 ноября 2011
- (int)signOfInteger:(int)integer {
    if (integer != 0) {
        integer = (integer < 0) ? -1 : +1;
    }
    return integer;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...