Namespaces
Variants

signbit

From cppreference.net
< c ‎ | numeric ‎ | math
Common mathematical functions
Functions
Basic operations
(C99)
(C99)
(C99)
(C99) (C99) (C99) (C23)
Maximum/minimum operations
Exponential functions
Power functions
Trigonometric and hyperbolic functions
Nearest integer floating-point
(C99) (C99) (C99)
(C23) (C23) (C23) (C23)
Floating-point manipulation
Narrowing operations
(C23)
(C23)
(C23)
(C23)
(C23)
(C23)
Quantum and quantum exponent
Decimal re-encoding functions
Total order and payload functions
Classification
(C99)
(C99)
signbit
(C99)
(C23)
Error and gamma functions
(C99)
(C99)
(C99)
(C99)
Types
Macro constants
Special floating-point values
Arguments and return values
Error handling
Fast operation indicators
Défini dans l'en-tête <math.h>
#define signbit( arg ) /* implementation defined */
(depuis C99)

Détermine si le nombre à virgule flottante donné arg est négatif. La macro retourne une valeur entière.

Table des matières

Paramètres

arg - valeur à virgule flottante

Valeur de retour

Valeur intégrale non nulle si arg est négatif, 0 sinon.

Notes

Cette macro détecte le bit de signe des zéros, des infinis et des NaN. Avec copysign , cette macro est l'une des deux seules méthodes portables pour examiner le signe d'un NaN.

Exemple

#include <math.h>
#include <stdio.h>
int main(void)
{
    printf("signbit(+0.0) = %d\n", signbit(+0.0));
    printf("signbit(-0.0) = %d\n", signbit(-0.0));
}

Sortie possible :

signbit(+0.0) = 0
signbit(-0.0) = 128

Références

  • Norme C23 (ISO/IEC 9899:2024):
  • 7.12.3.6 La macro signbit (p: TBD)
  • Norme C17 (ISO/IEC 9899:2018):
  • 7.12.3.6 La macro signbit (p: TBD)
  • Norme C11 (ISO/IEC 9899:2011):
  • 7.12.3.6 La macro signbit (p: 237)
  • Norme C99 (ISO/CEI 9899:1999) :
  • 7.12.3.6 La macro signbit (p: 218)

Voir aussi

(C99) (C99)
calcule la valeur absolue d'une valeur à virgule flottante ( |x| )
(fonction)
produit une valeur avec la magnitude d'une valeur donnée et le signe d'une autre valeur donnée
(fonction)
documentation C++ pour signbit