English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Manuale di riferimento C++

Funzione di libreria <cmath> C++

Uso e esempio della funzione copysign() in C++

La funzione copysign() in C++ accetta due parametri e restituisce un valore che ha la dimensione del primo parametro e il segno del secondo parametro.<cmath>Definito nel file di intestazione.

Prototipo di copysign() [dalla versione standard C++ 11]

double copysign(double x, double y);
float copysign(float x, float y);
long double copysign(long double x, long double y);
Promoted copysign(Type1 x, Type2 y); // Overload aggiuntivi per i tipi aritmetici

Dalla versione C++ 11 in poi, se il parametro passato a copysign() è di tipo long double, il tipo Promoted è long double. Altrimenti, il tipo Promoted è double.

Parametri di copysign()

  • x:Valore con la dimensione del valore di risultato.

  • y:Valore con il segno del valore di risultato.

Valore di ritorno di copysign()

La funzione copysign() restituisce un valore che assegna il segno del parametro y al parametro x.

Esempio 1: funzione copysign() per parametri dello stesso tipo

#include <iostream>
#include <cmath>
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 si esegue questo programma, l'output è:

copysign(34.15, -13) = -34.15

Esempio 2: funzione copysign() per parametri di diversi tipi

#include <iostream>
#include <cmath>
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 si esegue questo programma, l'output è:

copysign(34.15,-54) = -34.15

Funzione di libreria <cmath> C++