std::signbit(3)
π NAME π
okay so bestie, welcome to the std::signbit(3) page from the C++ Standard Libary manual π
(yes, thatβs the manual name as it appears in the header β weβre keeping the lore).
std::signbitβstd::signbit
β¨ Synopsis β¨
Defined in header <cmath>:
bool signbit( float num );β (since C++11)bool signbit( double num );β (until C++23)bool signbit( long double num );constexpr bool signbit( /* floating-point-type */ num );β (1) (since C++23)
Additional overloads
Defined in header <cmath>:
template< class Integer > bool signbit( Integer num );β (A) (since C++11)(constexpr since C++23)1)Determines if the given floating point numbernumis negative. The library provides overloads for all cv-unqualified floating-point types as the type of the parameternum. (since C++23)A)Additional overloads are provided for all integer types, which are treated asdouble.
πΈ Parameters πΈ
numβ floating-point or integer value
π¦ Return value π¦
true if num is negative, false otherwise.
π Notes π
This function detects the sign bit of zeroes, infinities, and NaNs. Along with std::copysign, std::signbit is one of the only two portable ways to examine the sign of a NaN. no cap, thatβs the whole vibe check π
The additional overloads are not required to be provided exactly as (A). They only need to be sufficient to ensure that for their argument num of integer type, std::signbit(num) has the same effect as std::signbit(static_cast<double>(num)). periodt π
π Example π
// Run this code
#include <cmath>
#include <iostream>
int main()
{
std::cout << std::boolalpha
<< "signbit(+0.0) = " << std::signbit(+0.0) << '\n'
<< "signbit(-0.0) = " << std::signbit(-0.0) << '\n'
<< "signbit(+nan) = " << std::signbit(+NAN) << '\n'
<< "signbit(-nan) = " << std::signbit(-NAN) << '\n'
<< "signbit(+inf) = " << std::signbit(+INFINITY) << '\n'
<< "signbit(-inf) = " << std::signbit(-INFINITY) << '\n';
}
Output
signbit(+0.0) = false
signbit(-0.0) = true
signbit(+nan) = false
signbit(-nan) = true
signbit(+inf) = false
signbit(-inf) = true
π See also π
abs(float)fabs,fabsf,fabslβ absolute value of a floating point value(\(\small{|x|}\)|x|);(function);(C++11)(C++11)copysign,copysignf,copysignlβ copies the sign of a floating point value;(C++11)(function)(C++11)(C++11)- C documentation for
signbit
source/version: http://cppreference.com π date: 2024.06.10 πΈ page: std::signbit(3) β¨ bye bestie, go check those sign bits π
π«Ά
π¦ where this page comes from
- nixpkgs unstable: stdman 2024.07.05
- opensuse-leap 16.0: stdman 2024.07.05-bp160.1.9 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms