C++ Signed Char Minimum Value

In C++, a signed char is a data type used to store small integer values, including both negative and positive numbers. The minimum value a signed char can hold is -128. This value is defined by the SCHAR_MIN macro in the <climits> header. A signed char uses 1 byte (8 bits) of memory, with the most significant bit (MSB) reserved for the sign.


Limits of Signed Char

The signed char data type represents numbers in the range:

  • Minimum Value: -128
  • Maximum Value: 127

The range is derived from the formula:

-2^(n-1) to 2^(n-1) - 1

Where n is the number of bits. For a signed char, n = 8, resulting in:

-2^(8-1) to 2^(8-1) - 1 = -128 to 127

C++ Program to Access Signed Char Minimum Value

You can programmatically access the minimum value of a signed char using the SCHAR_MIN constant from the <climits> header. Here’s an example:

In the following program, we will see how to access and use the minimum value of an int using SCHAR_MIN.

main.cpp

</>
Copy
#include <iostream>
#include <climits>

int main() {
    // Accessing the minimum value of signed char
    std::cout << "The minimum value of signed char is: " << static_cast<int>(SCHAR_MIN) << std::endl;
    return 0;
}

Output

The minimum value of signed char is: -128

Explanation

  • The <climits> header provides macros for the limits of fundamental data types in C++.
  • The SCHAR_MIN macro specifically defines the minimum value of a signed char, which is -128.
  • The static_cast<int> ensures that the signed char value is interpreted as a numeric value rather than a character.
  • The program outputs the minimum value of a signed char, demonstrating how to use SCHAR_MIN effectively.