Wenn fertig, bitte Fenster schließen
|
// Programm zur Ermittlung von einigen Eigenschaften // von numerischen Datentypen // Den gewuenschten Datentyp in main(...) beim Aufruf // der Funktion PrintNumLimits(...) in den spitzen // Klammern angegeben #include <iostream> #include <limits> using std::cout; using std::endl; using std::boolalpha; // Ausgabe einiger Kenndaten für numerische Datentypen template<typename T> void PrintNumLimits() { // bool-Werte als true/false ausgeben anstelle von 1/0 cout << boolalpha; // Überpruefen ob Kenndaten vorliegen if (std::numeric_limits<T>::is_specialized == 0) { cout << "keine numeric_limits Angaben vorhanden!\n"; return; } // Kenndaten ausgeben cout << "Minimum: " << std::numeric_limits<T>::min() << endl; cout << "Maximum: " << std::numeric_limits<T>::max() << endl; cout << "Anzahl Bits (ohne Vorzeichen): " << std::numeric_limits<T>::digits << endl; cout << "Vorzeichenbehaftet: " << std::numeric_limits<T>::is_signed << endl; cout << "Ganzzahl (Integer): " << std::numeric_limits<T>::is_integer << endl; cout << "keine Rundungsfehler möglich: " << std::numeric_limits<T>::is_exact << endl; cout << "kleinster von 1 abweichender Wert: " << std::numeric_limits<T>::epsilon() << endl; } // main() Funktion int main() { // Innerhalb der spitzen Klammer den Datentyp angeben, // für den die Kenndaten ausgegeben werden sollen PrintNumLimits<unsigned long>(); } |