numeric_limits

Da cppreference.com.
< cpp


Questa classe template fornisce varie informazione sui tipi di dati built-in

I limiti dei valori numerici sono definiti nell'header <limits>. I valori "templated" di numeric_limits danno una rappresentazione numerica dipendente dal sistema dei tipi dati del C++. Usate la funzione appropriata per un certo tipo di dati come argomento del template così come mostrato nella tabella qui sotto. Notate che numeric_limits può anche essere definita in overload per adattarla a tipi di dati definiti dal programmatore.

Metodo o
costante
Valore ritornato Descrizione
is_specialized bool
radix int base dell'esponente
digits int numero di digit (per una data radix) nella mantissa
digits10 int numero di digit a base 10 digits nella mantissa
is_signed bool
is_integer bool
is_exact bool
min() <type> il più piccolo numero rappresentabile (non il più negativo)
max() <type> il più grande numero rappresentabile
epsilon() <type> errore inerente, cioè il numero più piccolo per cui 1 + epsilon > 1
round_error() <type> valore massimo possibile di arrotondamendo
infinity() <type>
quiet_NaN() <type> numero invalido usato per segnalare un errore di floating point
signaling_NaN() <type> numero invalido usato per segnalare un errore di floating point
denorm_min() <type>
min_exponent int
min_exponent10 int
max_exponent int
max_exponent10 int
has_infinity bool
has_quiet_NaN bool
has_signaling_NaN bool
has_denorm <type>_denorm_style
has_denorm_loss bool
is_iec559 bool è conforme alle specifiche IEC-559
is_bounded bool
is_modulo bool
traps bool
tinyness_before bool
round_style float_round_style { round_to_nearest, ... }

L'uso più comune di questa classe è nel controllo dei limiti (bounds) per determinare i valori minimi e massimi che un certo tipo di dati può rappresentare. Il codice che segue stampa i valori massimi e minimi per un intero short sul sistema su cui gira.

  #include <limits>
  std::cout << "Maximum short value: " << std::numeric_limits<short>::max() << std::endl;
  std::cout << "Minimum short value: " << std::numeric_limits<short>::min() << std::endl;
Strumenti personali
Namespace
Varianti
Azioni
Navigazione
Strumenti
Altre lingue