Kleines Beispielprogramm zur Ermittlung einiger Eigenschaften von Datentypen (Anwendung siehe Kommentar in main()).
// Ermittelt einige Eigenschaften von Datentypen
#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 << "Min: " << std::numeric_limits<T>::min();
cout << "\nMax: " << std::numeric_limits<T>::max();
cout << "\nAnzahl Bits (ohne Vorzeichen):" << std::numeric_limits<T>::digits;
cout << "\nVorzeichenbehaftet: " << std::numeric_limits<T>::is_signed;
cout << "\nInteger: " << std::numeric_limits<T>::is_integer;
cout << "\nkeine Rundungsfehler moeglich: " << std::numeric_limits<T>::is_exact;
cout << "\nkleinster von 1 abweichender Wert: " << std::numeric_limits<T>::epsilon() << endl;
}
int main()
{
// Innerhalb der spitzen Klammer den Datentyp angeben,
// für den die Kenndaten ausgegeben werden sollen
PrintNumLimits<unsigned long>();
}
Copyright 2024 © Wolfgang Schröder
E-Mail mit Fragen oder Kommentaren zu dieser Website an: info@cpp-tutor.de
Impressum & Datenschutz