|
Posted on 2010-01-04 15:58 S.l.e!ep.¢% 阅读(497) 评论(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(); }
|