A função copysign () em C ++ recebe dois argumentos e retorna um valor com a magnitude do primeiro argumento e o sinal do segundo argumento.
A função é definida no arquivo de cabeçalho.
protótipo copysign () (a partir do padrão C ++ 11)
copysign duplo (duplo x, duplo y); float copysign (float x, float y); copysign duplo longo (long double x, long double y); Copysign promovido (Type1 x, Type2 y); // Sobrecargas adicionais para tipos aritméticos
Desde C ++ 11, se qualquer argumento passado para copysign () for long double
, o tipo de retorno Promoted
será long double
. Caso contrário, o tipo de retorno Promoted
é double
.
Parâmetros copysign ()
-
x : Valor com a magnitude do valor resultante.
-
y : valor com o sinal do valor resultante.
copysign () Valor de retorno
A função copysign () retorna o valor com a magnitude de xe o sinal de y.
Exemplo 1: função copysign () para argumentos do mesmo tipo
#include #include using namespace std; int main() ( double x = 34.15, y = -13.0, result; result = copysign(x, y); cout << "copysign(" << x << "," << y << ") = " << result << endl; return 0; )
Quando você executa o programa, a saída será:
copisigno (34,15, -13) = -34,15
Exemplo 2: função copysign () para argumentos de diferentes tipos
#include #include using namespace std; int main() ( double x = 34.15, result; int y = -54; result = copysign(x, y); cout << "copysign(" << x << "," << y << ") = " << result << endl; return 0; )
Quando você executa o programa, a saída será:
copisign (34,15, -54) = -34,15