Tipi e valori limite in C++

I tipi disponibili in C/C++, sono i seguenti:

Tipo Costante valore Minimo Costante valore Massimo
signed short int SHRT_MIN SHRT_MAX
unsigned short int 0 USHRT_MAX
signed int INT_MIN INT_MAX
unsigned int 0 UINT_MAX
signed long int LONG_MIN LONG_MAX
unsigned long int 0 ULONG_MAX
signed long long LLONG_MIN LLONG_MAX
unsigned long long 0 ULLONG_MAX
signed char SCHAR_MIN SCHAR_MAX
unsigned char 0 UCHAR_MAX
float FLT_MIN FLT_MAX
double DBL_MIN DBL_MAX
long double LDBL_MIN LDBL_MAX


Il seguente programmino stampa i valori numerici minimi e massimi dei tipi sopra riportati; le costanti sono definite nel file <climits>. Il codice è scaricabile in calce all'articolo.


#include <iostream>
#include <climits>
#include <float.h>

using namespace std;

int main()
{
    // Usa climits e float.h
    cout << "Valore min e max per signed short int "   << SHRT_MIN  << " ** " << SHRT_MAX  << endl;
    cout << "Valore min e max per unsigned short int " << 0         << " ** " << USHRT_MAX << endl;
    cout << "Valore min e max per signed int "         << INT_MIN   << " ** " << INT_MAX   << endl;
    cout << "Valore min e max per unsigned int "       << 0         << " ** " << UINT_MAX  << endl;
    cout << "Valore min e max per signed long int "    << LONG_MIN  << " ** " << LONG_MAX  << endl;
    cout << "Valore min e max per unsigned long int "  << 0         << " ** " << ULONG_MAX << endl;
    cout << "Valore min e max per signed long long "   << LLONG_MIN << " ** " << LLONG_MAX << endl;
    cout << "Valore min e max per unsigned long long " << 0         << " ** " << ULLONG_MAX << endl;

    cout << "Valore min e max per signed char "        << SCHAR_MIN << " ** " << SCHAR_MAX << endl;
    cout << "Valore min e max per unsigned char "      << 0         << " ** " << UCHAR_MAX << endl;

    cout << "Valore min e max per float "             << FLT_MIN    << " ** " << FLT_MAX   << endl;
    cout << "Valore min e max per double "            << DBL_MIN    << " ** " << DBL_MAX   << endl;
    cout << "Valore min e max per long double "       << LDBL_MIN   << " ** " << LDBL_MAX  << endl;

    return 0;
}

Il risultato varia a seconda della piattaforma; nel mi caso il risultato è il seguente:

Valore min e max per signed short int -32768 ** 32767
Valore min e max per unsigned short int 0 ** 65535
Valore min e max per signed int -2147483648 ** 2147483647
Valore min e max per unsigned int 0 ** 4294967295
Valore min e max per signed long int -2147483648 ** 2147483647
Valore min e max per unsigned long int 0 ** 4294967295
Valore min e max per signed long long -9223372036854775808 ** 9223372036854775807
Valore min e max per unsigned long long 0 ** 18446744073709551615
Valore min e max per signed char -128 ** 127
Valore min e max per unsigned char 0 ** 255
Valore min e max per float 1.17549e-038 ** 3.40282e+038
Valore min e max per double 2.22507e-308 ** 1.79769e+308
Valore min e max per long double 3.3621e-4932 ** 1.18973e+4932
Allegati:
FileDescrizioneDimensione del FileDownloadsCreato
Scarica questo file (Tipi.cpp)Tipi.cppCalcolo valori massimi e minimi per i tipi di variabile in C/C++1 kB4912013-01-08 17:41

Aggiungi commento


Codice di sicurezza
Aggiorna

Copyright © 2017 Berta Danilo. Tutti i diritti riservati.
Joomla! è un software libero rilasciato sotto licenza GNU/GPL.