C++/C一些类型的取值范围

呵呵,时间长了,有些实在是记不住了,就把一些不常用的记在这里吧:

long long的最大值:9223372036854775807
long long的最小值:-9223372036854775808
unsigned long long的最大值:1844674407370955161

__int64的最大值:9223372036854775807
__int64的最小值:-9223372036854775808
unsigned __int64的最大值:18446744073709551615


我的电脑对__int128不支持,这个可能是预留给将来的吧:

#if     _INTEGRAL_MAX_BITS >= 128
/* minimum signed 128 bit value */
#define _I128_MIN   (-170141183460469231731687303715884105727i128 - 1)
/* maximum signed 128 bit value */
#define _I128_MAX     170141183460469231731687303715884105727i128
/* maximum unsigned 128 bit value */
#define _UI128_MAX    0xffffffffffffffffffffffffffffffffui128
#endif


搜索了一下_INTEGRAL_MAX_BITS ,找到一篇说明,都是EN文的,看意思也是预留了,哈
把链接也记下来吧:
http://gcc.gnu.org/ml/gcc-patches/2004-07/msg00465.html

通过程序来实现查看:

#include
#include
using namespace std;

int main()
{
  cout<<"long long的最大值:"<  cout<<"long long的最小值:"<  cout<<"unsigned long long的最大值:"<
  cout<<"__int64的最大值:"<<_I64_MAX<  cout<<"__int64的最小值:"<<_I64_MIN<  cout<<"unsigned __int64的最大值:"<<_UI64_MAX<
  /*cout<<"__int128的最大值:"<<_I128_MAX<  cout<<"__int128的最小值:"<<_I128_MIN<  cout<<"unsigned __int64的最大值:"<<_UI128_MAX<
  return 0;
}


其他的全在文件limits.h里查找吧,不再多说了,呵呵!
代码里之所以包含的是,是因为代码遵守的是C++规范!