Größtmöglicher Wert eines Datentyps ermitteln

Hallo,

wie tut man elegantesten den größtmöglichen Wert eines Datentyps z.B. von
int, unsigned int, short, long, char, double
ermitteln? Nehme diesen Wert gerne mal als Flag oder brauche das als Maske oder Startbedingung einer für „Suche mir den kleinsten Wert“.

Gibt es dafür ein Makro in Visual Studio?
Problem ist ja, dass ich nicht genau weiß, wie groß jetzt eigentlich ein Datentyp ist. Das kommt ja auf dem Compiler und oder vom Prozessor (32bit, 64bit) an.

Beim Unsigned Integer habe ich den größten Wert immer so bestimt:
a = 0;
a–;

Wie mache ich das bei den anderen Datentypen?

Btw.:
Ist es möglich mir einen eigenen integer zusammenzustellen, der immer die selbe größe hat, u.U. sich auch aus 128 bit zusammensetzt?

Brauche das für Bitoperationen um Daten zu kodieren. Da würde ich schon gerne eine konstante Anzahl von Bits haben.

Besten Dank!
Peter

Hallo

Probier mal die Konstanten im limits.h:

#include 

#define INT\_MAX 2147483647
#define INT\_MIN (-INT\_MAX-1)

#define UINT\_MAX 0xffffffff
....

Dort sind alle größtmöglichen Werte für die Datentypen eingetragen.

mfg dixxi

ok danke.
Wer mich mal damit beschäftigen.