Standard C Library (libc, -lc)
#include <math.h>
int
  
  signbit(real-floating
    x);
The signbit() macro determines whether the sign of its
  argument value x is negative. An argument represented in
  a format wider than its semantic type is converted to its semantic type first.
  The determination is then based on the type of the argument.
The sign is determined for all values, including infinities, zeroes, and NaNs
The sign is determined for finites, true zeros, and dirty zeroes; for ROPs the
  sign is reported negative.
The signbit() macro returns a non-zero value if the sign
  of its value x is negative. Otherwise 0 is returned.
The signbit() macro conforms to ISO/IEC
  9899:1999 (“ISO C99”).