當前位置:柔美女性網 >

綠色生活 >心理 >

c語言中int的存儲類型

c語言中int的存儲類型

c語言中int的存儲類型

1、nt型為帶符號整數類型,對於16位編譯器,int佔2字節8位對於32位和64位編譯器,int型佔4字節32位。不同的佔用空間,int型的範圍也不同:2字節時,int 範圍為-32768~327674字節時,int範圍為-2147483648~2147483647。

無論是哪種存儲方式,均是最高位為符號位,0代表正數,1代表負數。剩餘位存儲實際值。

2、字符是指計算機中使用的字母、數字、字和符號,包括:1、2、3、A、B、C、~!·#¥%……—*()——+等等。在 ASCII 編碼中,一個英文字母字符存儲需要1個字節。在 GB 2312 編碼或 GBK 編碼中,一個漢字字符存儲需要2個字節。

3、字符型數據在內存中儲存的是它的ASCII碼值,它是一個字節,所有數據類型在內存中都是以0和1代碼二進制儲存的,這個原則不會變。

4、在UTF-8編碼中,一個英文字母字符存儲需要1個字節,一個漢字字符儲存需要3到4個字節。在UTF-16編碼中,一個英文字母字符或一個漢字字符存儲都需要2個字節(Unicode擴展區的一些漢字存儲需要4個字節)。在UTF-32編碼中,世界上任何字符的存儲都需要4個字節。

5、char是C/C++整型數據之一,其它的如int/long/short等不指定signed/unsigned時都默認是signed,char在標準中是unsigned,編譯器可以實現為帶符號的,也可以實現為不帶符號的,有些編譯器如pSOS的編譯器,還可以通過編譯開關來指定它是有符號數還是無符號數。

1、佔用的比特位數量

在32位操作系統下,兩者都是佔用4個字節,每個字節有8個比特位,因此有32個0-1的二進制位數。兩者的不同在於,int類型有正負號(±)的存在,需要比unsigned int類型多消耗一個位數。

2、符號的表示方法

在所有被int類型佔用的比特位中,左起第一個位就是符號位。int類型的符號位上,0表示正數,1表示負數。在32位操作系統下,其餘後面31位是數值位。

3、數字0的表示方法

按照上面提到的符號,我們有了兩種0的表示方法,即“+0”和“-0”。

實際上,在32位系統下int類型中,我們計算機已經強行規定了這種情況,數字0採用“+0”的表示方法,即00000000 00000000 00000000而“-0”這個特殊的數字被定義為了-2^31。

因此我們看到32位系統下int類型的取值範圍中,負數部分比正數部分多了一個數字,正數的最大取值是2^31-1,而負數的最小取值是-2^31。正數部分之所以要減去1,是因為被數字0佔用了,而負數部分不需要用來表示0,因此原本的“-0”就用來表示-2^31這個數字。

不管什麼類型的數據在計算機中都是用2進制儲存的。

int 是用4個字節,32位二進制儲存。

float 也是4個字節,32個二進制位儲存的。

而char 是用1個字節,共8位二進制儲存的。

標籤: 語言 int 存儲
  • 文章版權屬於文章作者所有,轉載請註明 https://rmnxw.com/zh-hk/lvse/xinli/q1q9wp.html