signbit - test sign of a real floating-point number
Contents
Attributes
For an explanation of the terms used in this section, see attributes(7).
┌─────────────────────────────────────────────────────────────────────────────┬───────────────┬─────────┐
│ Interface │ Attribute │ Value │
├─────────────────────────────────────────────────────────────────────────────┼───────────────┼─────────┤
│ signbit() │ Thread safety │ MT-Safe │
└─────────────────────────────────────────────────────────────────────────────┴───────────────┴─────────┘
Description
signbit() is a generic macro which can work on all real floating-point types. It returns a nonzero value
if the value of x has its sign bit set.
This is not the same as x<0.0, because IEEE 754 floating point allows zero to be signed. The
comparison -0.0<0.0 is false, but signbit(-0.0) will return a nonzero value.
NaNs and infinities have a sign bit.
Errors
No errors occur.
History
POSIX.1-2001, C99.
This function is defined in IEC 559 (and the appendix with recommended functions in IEEE 754/IEEE 854).
Library
Math library (libm, -lm)
Name
signbit - test sign of a real floating-point number
Return Value
The signbit() macro returns nonzero if the sign of x is negative; otherwise it returns zero.
See Also
copysign(3) Linux man-pages 6.9.1 2024-05-02 signbit(3)
Standards
C11, POSIX.1-2008.
Synopsis
#include<math.h>intsignbit(x); Feature Test Macro Requirements for glibc (see feature_test_macros(7)): signbit(): _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
