grenzwerte eines datentyps bestimmen ??
-
hi,
ich möchte gerne wissen, ob bzw. wie es mit der MFC möglich ist,
die grenzwerte eines datentyps zu bestimmen.zb. long -2.7xx.xxx.xxx bis +2.7xx.xxx.xxx
-
LONG_MAX 2147483647 Maximum (signed) long value
LONG_MIN –2147483647–1 Minimum (signed) long valuegibt es für jeden DatenTyp
Gruß
-
oder so z.b:
template<typename type> type min_val() { type result = 0; // checke ob es signed oder unsigned ist type val = 0; --val; if(val<0) { // signed result |= (1<<(sizeof(result)*8-1)); } return result; } template<typename type> type max_val() { type result = 0; memset(&result,0xFF,sizeof(result)); // checke ob es signed oder unsigned ist type val = 0; --val; if(val<0) { // signed result ^= (1<<(sizeof(result)*8-1)); } return result; } void func() { char min_char = min_val<char>(); char max_char = max_val<char>(); unsigned long min_ulong = min_val<unsigned long>(); unsigned long max_ulong = max_val<unsigned long>(); }
-
std::numeric_limits