|
Posted on 2010-01-04 15:58 S.l.e!ep.¢% 閱讀(500) 評論(0) 編輯 收藏 引用 所屬分類: C++
網上找到的一些資料,整理收集 long型最大、= ? LONG_MAX ? (#include ? <limits.h>)??? ? 最小值 ? = ? LONG_MIN ? (#include ? <limits.h>)??? ???? ? long ? double的最大、LDBL_MAX ? (#include ? <float.h>)??? ? 最小值 ? LDBL_MIN ? (#include ? <float.h>)?? Visual C++ Language Reference Data Type Ranges For 32-bit and 64-bit compilers, Microsoft Visual C++ recognizes the types shown in the table below. Note that the following type also have unsigned forms: int (unsignedint) __int8 (unsigned__int8) __int16 (unsigned__int16) __int32 (unsigned__int32) __int64 (unsigned__int64) short (unsignedshort) long (unsignedlong) longlong (unsignedlonglong)
Type Name | Bytes | Other Names | Range of Values |
---|
int | 4 | signed | –2,147,483,648 to 2,147,483,647 | unsigned int | 4 | unsigned | 0 to 4,294,967,295 | __int8 | 1 | char | –128 to 127 | unsigned __int8 | 1 | unsigned char | 0 to 255 | __int16 | 2 | short, short int, signed short int | –32,768 to 32,767 | unsigned __int16 | 2 | unsigned short, unsigned short int | 0 to 65,535 | __int32 | 4 | signed, signed int, int | –2,147,483,648 to 2,147,483,647 | unsigned __int32 | 4 | unsigned, unsigned int | 0 to 4,294,967,295 | __int64 | 8 | long long, signed long long | –9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 | unsigned __int64 | 8 | unsigned long long | 0 to 18,446,744,073,709,551,615 | bool | 1 | none | false or true | char | 1 | none | –128 to 127 by default 0 to 255 when compiled with /J | signed char | 1 | none | –128 to 127 | unsigned char | 1 | none | 0 to 255 | short | 2 | short int, signed short int | –32,768 to 32,767 | unsigned short | 2 | unsigned short int | 0 to 65,535 | long | 4 | long int, signed long int | –2,147,483,648 to 2,147,483,647 | unsigned long | 4 | unsigned long int | 0 to 4,294,967,295 | long long | 8 | none (but equivalent to __int64) | –9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 | unsigned long long | 8 | none (but equivalent to unsigned __int64) | 0 to 18,446,744,073,709,551,615 | enum | varies | none | See Remarks. | float | 4 | none | 3.4E +/- 38 (7 digits) | double | 8 | none | 1.7E +/- 308 (15 digits) | long double | same as double | none | same as double | wchar_t | 2 | __wchar_t | 0 to 65,535 |
#include <limits> #include <iostream> using namespace std;
int _tmain(int argc, _TCHAR* argv[]) { ??? cout<<"short:"<<endl; ??? cout<<"min="<<numeric_limits<short>::min()<<endl; ??? cout<<"max="<<numeric_limits<short>::max()<<endl; ??? cout<<"int:"<<endl; ??? cout<<"min="<<numeric_limits<int>::min()<<endl; ??? cout<<"max="<<numeric_limits<int>::max()<<endl; ??? cout<<"double:"<<endl; ??? cout<<"min="<<numeric_limits<double>::min()<<endl; ??? cout<<"max="<<numeric_limits<double>::max()<<endl; ??? cout<<"long:"<<endl; ??? cout<<"min="<<numeric_limits<long>::min()<<endl; ??? cout<<"max="<<numeric_limits<long>::max()<<endl; ??? return 0; }
將極值轉為字符串
#include <sstream> #include <iostream> ? int main() ? { ??? std::ostringstream stm; ??? // Output an int ??? stm << 31; ??? // Output a char ??? stm << ' '; ??? // Output a double ??? stm << 9.87654; ??? // Retrieve the resulting string ??? std::cout << stm.str() << '\n'; ? }
? #include <sstream> ? #include <limits> ? #include <iostream>
? int main() ? { ???? std::ostringstream stm; ???? stm << ?????? "Maximum value for float: " << ?????? std::numeric_limits<float>::max() << ?????? '\n' << "Minimum value for float: " << ?????? std::numeric_limits<float>::min();
???? std::string values=stm.str(); ? }
|