本文目錄一覽:
- 1、int幾個位元組
- 2、C語言中區分1和l
- 3、int範圍值的大小是什麼?
int幾個位元組
不同的編譯器,佔據的位元組也不同,具體如下表所示:
編譯器可以根據自身硬件來選擇合適的大小,但是需要滿足約束:short和int型至少為16位,long型至少為32位,並且short型長度不能超過int型,而int型不能超過long型。
這即是說各個類型的變量長度是由編譯器來決定的,而當前主流的編譯器中一般是32位機器和64位機器中int型都是4個位元組。
整數(int類型的常量)有幾種書寫形式,程序中的整數一般採用十進制寫法。用十進制方式寫出的一個整數就是普通數字字符組成的一個連續序列,其中不能有空格、換行或其他字符。C語言規定十進制表示的數字不能是0,除非要寫的整數本身就是0。下面是一些整數的列子。
123 304 23278 1 0 906 。
由於長整數是另外一個不同類型的整數,所以C語言為長整數規定了一種專門寫法,其特殊之處是在表示數值的數字序列最後附一個字母「L」或「l」作後綴。由於小寫字母「l」容易與數字「1」混淆,建議讀者採用大寫的「L」,下面是一些長整數的例子。
123L 304L 25278L 1l 0L 906L。
C語言中區分1和l
某些書本 || 編譯器上1和l 是一模一樣的,一般在定義數據類型時會出現這樣的問題;
for example:
int evil1,evil2;
//像這種出現 2 個 l 單詞的,要和後面「evil2 對比一下,
顯然第一個 l 是字母第二個 1 是 整數 1;
書本上有時候遇到陌生的單詞,很難區分,建議查一下單詞;
如果是代碼中出現這樣的問題,複製代碼在txt文檔中就可以區分了;
int範圍值的大小是什麼?
int的取值範圍為: -2^31——2^31-1,即-2147483648——2147483647
1、對於正數來說,它的補碼就是它本身。
2、對於負數來說,它的補碼是它對應的正數的二進數所有位取反之後加一。
3、由負數的補碼求原碼也是相同的操作(所有位取反+1)即為該負數的絕對值int是4個位元組,32位,10000000 00000000 00000000 00000000是補碼,第一位為符號位,1表示負數;
所以對剩下的位取反,結果為 1111111 11111111 11111111 11111111,加一後為10000000 00000000 00000000 00000000。
4、所以原碼指的是-2^31=-2147483648,int的取值範圍為-2^31——2^31-1。
擴展資料:
int類型在內存中佔用了4個位元組,也就是32位。int類型是有符號的,因此,32位並不會全部用來存儲數據,使用最高位來存儲符號,最高位是0,提示數據是正數,最高位是1,表示數據是負數,使用其他的31位來存儲數據。
由於長整數是另外一個不同類型的整數,所以C語言為長整數規定了一種專門寫法,其特殊之處是在表示數值的數字序列最後附一個字母「L」或「l」作後綴。由於小寫字母「l」容易與數字「1」混淆,建議讀者採用大寫的「L」,下面是一些長整數的例子。
參考資料來源:百度百科-INT
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/303054.html