En este artículo, discutiremos el tipo de datos char firmado en C++ .
Algunas propiedades del tipo de datos char firmado son:
- Generalmente se utiliza para almacenar caracteres de 8 bits.
- Al ser un tipo de datos firmado, puede almacenar valores positivos y valores negativos.
- Se ocupa un tamaño de 8 bits donde se utiliza 1 bit para almacenar el signo del valor.
- Un valor máximo que se puede almacenar en un tipo de datos char firmado es típicamente 127, alrededor de 2 7 – 1 (pero depende del compilador ).
- El valor máximo y mínimo que se puede almacenar en un carácter firmado se almacena como una constante en el archivo de encabezado climits y se puede nombrar como SCHAR _ MAX y SCHAR_MIN respectivamente.
- Un valor mínimo que se puede almacenar en un tipo de datos char con signo suele ser -128, es decir, alrededor de – 2 7 (pero depende del compilador).
- En caso de desbordamiento o subdesbordamiento del tipo de datos, el valor se ajusta. Por ejemplo, si -128 se almacena en un tipo de datos char con signo y se le resta 1, el valor de esa variable será igual a 127. De manera similar, en caso de desbordamiento, el valor se redondeará a -128 .
A continuación se muestra el programa para obtener el valor más alto que se puede almacenar en caracteres firmados en C++:
C++
// C++ program to obtain the maximum value // that we can store in signed char #include <climits> #include <iostream> using namespace std; // Driver Code int main() { // From the constant of climits // header file signed char valueFromLimits = SCHAR_MAX; cout << "Maximum value from " << "climits constant: " << (int)valueFromLimits << '\n'; valueFromLimits = SCHAR_MIN; cout << "Minimum value from " << "climits constant: " << (int)valueFromLimits << '\n'; // Using the wrap around property // of data types // Initialize two variables one // value with -1 as previous and // one with 0 as present signed char previous = -1; signed char present = 0; // Keep on increasing both values // until the present increases to // the max limit and wraps around to // the negative value i.e., present // becomes less the previous value while (present > previous) { previous++; present++; } cout << "Maximum value using the " << "wrap around property: " << (int)previous << '\n'; cout << "Maximum value using the " << "wrap around property: " << (int)present; return 0; }
Producción:
Maximum value from climits constant: 127 Minimum value from climits constant: -128 Maximum value using the wrap around property: 127 Maximum value using the wrap around property: -128
Publicación traducida automáticamente
Artículo escrito por UtkarshPandey6 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA