我使用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