java中integer取值范圍 C語言中int,long的取值范圍是多少?
C語言中int,long的取值范圍是多少?這主要取決于編譯器如何處理這些類型的數(shù)據(jù)。不同的編譯器可以為int分配不同的空間。通常,在32位系統(tǒng)中,int被分配四個字節(jié)。在過去,MCU編譯器通常分配一個
C語言中int,long的取值范圍是多少?
這主要取決于編譯器如何處理這些類型的數(shù)據(jù)。不同的編譯器可以為int分配不同的空間。通常,在32位系統(tǒng)中,int被分配四個字節(jié)。在過去,MCU編譯器通常分配一個字節(jié)?,F(xiàn)在64位編譯器通常分配8個字節(jié)。不同的字節(jié)可以表示不同的值范圍。
同樣,有符號數(shù)字和無符號數(shù)字表示不同的數(shù)據(jù)范圍。例如,單片機的C51編譯器分配一個字節(jié):
無符號數(shù),最大值為0xff,十進制為255。
C語言int的取值范圍為-2147483648~2147483647。解釋如下:int類型在C語言中占4個字節(jié),即32個二進制位。當(dāng)它代表一個正數(shù)時,最高的位是符號位(符號位是0),最大的正數(shù)是011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111,以補碼的形式存儲在計算機中。C語言規(guī)定10000的補碼是-2147483648,所以C語言中int的取值范圍是-2147483648~2147483647
~]。當(dāng)你這樣寫的時候,它不是長的,而是默認的int。長:長=922337203685475806l,注意以下L,必須加。此外,long的最大值為922337203685475807。