C語言基礎之類型系統

一、類型系統介紹

    類型系統是每個編程語言都會有的基本概念,C語言的類型系統可以概括爲基本類型和複合類型,基本類型又可以細分爲整型數值類型和浮點數數值類型,不同類型所佔用的內存長度不相同,下面先來介紹一下基本類型。

整型數值基本類型

1、char  佔用一個字節

2、short 佔用兩個字節

3、int 目前基本都是4字節

4、long int (可以簡寫爲 long) (32位系統是4字節,64位系統是8字節)

5、long long int ( 可以簡寫爲long long) 佔用8節字

浮點數數值基本類型 

1、float 佔用4字節 (單精度)

2、double 佔用8節字 (雙精度浮點數)

複合類型包含如下幾種

1、struct 結構體

2、union 聯合體

3、enum 枚舉 (長度等同 int )

4、數組

5、指針

二、有符號和無符號

    在定義變量時默認是有符號類型,需要定義無符號變量時只需要使用關鍵字 unsigned 來修飾即可,如 unsigned char、unsigned short、unsigned int等都是合法的變量,需要特別注意的是浮點數數值類型不能用關鍵字 unsigned 來修飾,如 unsigned float和unsigned double 都是不合法的,因爲浮點數類型的存儲方式和整型數值類型不同。


    有符號變量的二進制最高一位用來表示符號位,正數是0負數是1剩下的用來表示值 ,無符號變量的所有二進制位都用來表示值,整型數值變量的值在計算機內部使用補碼來表示。

三、原碼、反碼和補碼

    原碼是值的二進制表示方式,舉例說明

            char v = 1   原碼=0000 0001   最高位是0

            char v = -1  原碼 = 1000 0001  最高位是1

    正數的原碼=反碼=補碼

    負數的反碼等於原碼除了符號位之外所有的位都取反,補碼等於反碼加一,舉例說明

            char v = -1 原碼 = 1000 0001, 反碼 = 1111 1110, 補碼 = 1111 1110 + 1 = 1111 1111


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章