# std::numeric_limits<T>::is_signed

From cppreference.com
< cpp‎ | types‎ | numeric limits

static const bool is_signed; |  | (until C++11)
static constexpr bool is_signed; |  | (since C++11)

The value of std::numeric_limits<T>::is_signed is true for all signed arithmetic types `T` and false for the unsigned types. This constant is meaningful for all specializations.

### Standard specializations

`T` | value of std::numeric_limits<T>::is_signed
/* non-specialized */ | false
bool | false
char | implementation-defined
signed char | true
unsigned char | false
wchar_t | implementation-defined
char8_t | false
char16_t | false
char32_t | false
short | true
unsigned short | false
int | true
unsigned int | false
long | true
unsigned long | false
long long | true
unsigned long long | false
float | true
double | true
long double | true

### See also

is_signed (C++11) | checks if a type is a signed arithmetic type (class template)
is_integer [static] | identifies integer types (public static member constant)
is_exact [static] | identifies exact types (public static member constant)
is_bounded [static] | identifies types that represent a finite set of values (public static member constant)

Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/types/numeric_limits/is_signed&oldid=108343"