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