首頁>Club>
6
回覆列表
  • 1 # 髒話比謊話乾淨558

    不管什麼型別的資料在計算機中都是用2進位制儲存的。

    int 是用4個位元組,32位二進位制儲存。

    float 也是4個位元組,32個二進位制位儲存的。

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

  • 2 # 使用者352755821118

    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這個數字。

  • 3 # 恆信電器666

    1、nt型為帶符號整數型別,對於16位編譯器,int佔2位元組8位;對於32位和64位編譯器,int型佔4位元組32位。不同的佔用空間,int型的範圍也不同:2位元組時,int 範圍為-32768~32767;4位元組時,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的編譯器,還可以透過編譯開關來指定它是有符號數還是無符號數。

  • 4 # 使用者3302568163023107

    nt佔2個位元組,就相當於16位,所以int型的變數值的範圍為[-2^15 , (2^15 - 1)], 即[-32768,32767];unsigned int取值範圍[0,(2^16 - 1)], 即[0,65535]

  • 中秋節和大豐收的關聯?
  • 為什麼電瓶車充電不亮燈?