int float double 各类型的最大值最小值

  1. //========================================================    
  2. //type.cpp   
  3. //by leo   
  4. //5.13.2011                                                                
  5. //========================================================   
  6. #include <iostream>    
  7. #include <float.h>  
  8. #include <iomanip>  
  9. #include <limits.h>   
  10. using namespace std;    
  11. //--------------------------------------------------------     
  12. int main()    
  13. {   
  14.   
  15.     cout << "int 类型能存储的最大值和最小值" << endl;    
  16.     cout << "INT_MAX = " << scientific << INT_MAX << endl;    
  17.     cout << "INT_MIN = " << scientific << INT_MIN << endl;    
  18.   
  19.     cout << "long 类型能存储的最大值和最小值" << endl;    
  20.     cout << "LONG_MAX = " << scientific << LONG_MAX << endl;    
  21.     cout << "LONG_MIN = " << scientific << LONG_MIN << endl;    
  22.       
  23.     cout << "float 类型能存储的最大值和最小值" << endl;    
  24.     cout << "FLT_MAX = " << FLT_MAX << endl;    
  25.     cout << "FLT_MIN = " << FLT_MIN << endl;    
  26.   
  27.     cout << "double 类型能存储的最大值和最小值" << endl;    
  28.     cout << "DBL_MAX = " << DBL_MAX << endl;    
  29.     cout << "DBL_MIN = " << DBL_MIN << endl;  
  30.   
  31.     return 0;    
  32. }   
  33. //========================================================    
  34.   
  35. vc6.0//vc98/Include   
  36. /*** 
  37. *limits.h - implementation dependent values 
  38. * 
  39. *       Copyright (c) 1985-1997, Microsoft Corporation.  All rights reserved. 
  40. * 
  41. *Purpose: 
  42. *       Contains defines for a number of implementation dependent values 
  43. *       which are commonly used in C programs. 
  44. *       [ANSI] 
  45. * 
  46. *       [Public] 
  47. * 
  48. ****/ 
  49.  
  50. #if     _MSC_VER > 1000  
  51. #pragma once  
  52. #endif  
  53.  
  54. #ifndef _INC_LIMITS  
  55. #define _INC_LIMITS  
  56.  
  57. #if     !defined(_WIN32) && !defined(_MAC)  
  58. #error ERROR: Only Mac or Win32 targets supported!  
  59. #endif  
  60.  
  61.  
  62. #define CHAR_BIT      8         /* number of bits in a char */  
  63. #define SCHAR_MIN   (-128)      /* minimum signed char value */  
  64. #define SCHAR_MAX     127       /* maximum signed char value */  
  65. #define UCHAR_MAX     0xff      /* maximum unsigned char value */  
  66.  
  67. #ifndef _CHAR_UNSIGNED  
  68. #define CHAR_MIN    SCHAR_MIN   /* mimimum char value */  
  69. #define CHAR_MAX    SCHAR_MAX   /* maximum char value */  
  70. #else  
  71. #define CHAR_MIN      0  
  72. #define CHAR_MAX    UCHAR_MAX  
  73. #endif  /* _CHAR_UNSIGNED */  
  74.  
  75. #define MB_LEN_MAX    2             /* max. # bytes in multibyte char */  
  76. #define SHRT_MIN    (-32768)        /* minimum (signed) short value */  
  77. #define SHRT_MAX      32767         /* maximum (signed) short value */  
  78. #define USHRT_MAX     0xffff        /* maximum unsigned short value */  
  79. #define INT_MIN     (-2147483647 - 1) /* minimum (signed) int value */  
  80. #define INT_MAX       2147483647    /* maximum (signed) int value */  
  81. #define UINT_MAX      0xffffffff    /* maximum unsigned int value */  
  82. #define LONG_MIN    (-2147483647L - 1) /* minimum (signed) long value */  
  83. #define LONG_MAX      2147483647L   /* maximum (signed) long value */  
  84. #define ULONG_MAX     0xffffffffUL  /* maximum unsigned long value */  
  85.  
  86. #if     _INTEGRAL_MAX_BITS >= 8  
  87. #define _I8_MIN     (-127i8 - 1)    /* minimum signed 8 bit value */  
  88. #define _I8_MAX       127i8         /* maximum signed 8 bit value */  
  89. #define _UI8_MAX      0xffui8       /* maximum unsigned 8 bit value */  
  90. #endif  
  91.  
  92. #if     _INTEGRAL_MAX_BITS >= 16  
  93. #define _I16_MIN    (-32767i16 - 1) /* minimum signed 16 bit value */  
  94. #define _I16_MAX      32767i16      /* maximum signed 16 bit value */  
  95. #define _UI16_MAX     0xffffui16    /* maximum unsigned 16 bit value */  
  96. #endif  
  97.  
  98. #if     _INTEGRAL_MAX_BITS >= 32  
  99. #define _I32_MIN    (-2147483647i32 - 1) /* minimum signed 32 bit value */  
  100. #define _I32_MAX      2147483647i32 /* maximum signed 32 bit value */  
  101. #define _UI32_MAX     0xffffffffui32 /* maximum unsigned 32 bit value */  
  102. #endif  
  103.  
  104. #if     _INTEGRAL_MAX_BITS >= 64   
  105. /* minimum signed 64 bit value */ 
  106. #define _I64_MIN    (-9223372036854775807i64 - 1)   
  107. /* maximum signed 64 bit value */ 
  108. #define _I64_MAX      9223372036854775807i64   
  109. /* maximum unsigned 64 bit value */ 
  110. #define _UI64_MAX     0xffffffffffffffffui64  
  111. #endif  
  112.  
  113. #if     _INTEGRAL_MAX_BITS >= 128   
  114. /* minimum signed 128 bit value */ 
  115. #define _I128_MIN   (-170141183460469231731687303715884105727i128 - 1)   
  116. /* maximum signed 128 bit value */ 
  117. #define _I128_MAX     170141183460469231731687303715884105727i128   
  118. /* maximum unsigned 128 bit value */ 
  119. #define _UI128_MAX    0xffffffffffffffffffffffffffffffffui128  
  120. #endif  
  121.  
  122. #ifdef  _POSIX_  
  123.  
  124. #define _POSIX_ARG_MAX      4096  
  125. #define _POSIX_CHILD_MAX    6  
  126. #define _POSIX_LINK_MAX     8  
  127. #define _POSIX_MAX_CANON    255  
  128. #define _POSIX_MAX_INPUT    255  
  129. #define _POSIX_NAME_MAX     14  
  130. #define _POSIX_NGROUPS_MAX  0  
  131. #define _POSIX_OPEN_MAX     16  
  132. #define _POSIX_PATH_MAX     255  
  133. #define _POSIX_PIPE_BUF     512  
  134. #define _POSIX_SSIZE_MAX    32767  
  135. #define _POSIX_STREAM_MAX   8  
  136. #define _POSIX_TZNAME_MAX   3  
  137.  
  138. #define ARG_MAX             14500       /* 16k heap, minus overhead */  
  139. #define LINK_MAX            1024  
  140. #define MAX_CANON           _POSIX_MAX_CANON  
  141. #define MAX_INPUT           _POSIX_MAX_INPUT  
  142. #define NAME_MAX            255  
  143. #define NGROUPS_MAX         16  
  144. #define OPEN_MAX            32  
  145. #define PATH_MAX            512  
  146. #define PIPE_BUF            _POSIX_PIPE_BUF  
  147. #define SSIZE_MAX           _POSIX_SSIZE_MAX  
  148. #define STREAM_MAX          20  
  149. #define TZNAME_MAX          10  
  150.  
  151. #endif  /* POSIX */  
  152.  
  153. #endif  /* _INC_LIMITS */  

 

posted on 2014-04-04 17:43  carekee  阅读(7582)  评论(0编辑  收藏  举报