我使用C++,即使我声明long int类型,有错误,如......我应该在C++中使用这种600851475143的数据类型?
long int num = 600851475143;
warning: integer constant is too large for ‘long’ type
其数据类型应该在这种情况下使用?
我使用C++,即使我声明long int类型,有错误,如......我应该在C++中使用这种600851475143的数据类型?
long int num = 600851475143;
warning: integer constant is too large for ‘long’ type
其数据类型应该在这种情况下使用?
很多这取决于平台和编译器,你正在使用。
如果您使用的是x64平台,则应使用C++中的数据类型。 一个签订了范围从-9,223,372,036,854,775,808到+9,223,372,036,854,775,807。另一方面,无符号长整型的范围是0到+18,446,744,073,709,551,615。
也取决于编译器和平台也有一些其他的数据类型,其实际上是一回事(双字,长字,很长很长,四,四字,Int64的)。
C(不是C++)支持长长数据类型。说,如果你是在Fedora 10的32倍,然后GCC 4.3.0支持long long类型,但你必须经过大量的文字把LL。请参阅 http://www.daniweb.com/forums/thread162930-2.html
你必须把后缀L的数目后:
long long int num = 600851475143LL;
您应该将变量的类型与用作值的整数表达式的类型区分为变量。正如tur1ng指定的那样,如果可能出现歧义,则应该使用整数文字后缀来精确指定您指定的值的类型。
无后缀的十进制值可以有不同的类型:int
,long int
,unsigned long int
,long long int
,所以这是要明确一个好主意。
你只需要做如下(如果你使用的是Java):
长NUM = 60085147514L;
此声明为“长”数据类型,它允许你存储更长的数字
http://stackoverflow.com/questions/2127473/what-kind-of-data-type-is-long-long – 2010-01-24 16:31:09