回覆列表
  • 1 # 髒話比謊話乾淨558

    C語言中,簡單的內建型別有兩種:整數型別和void型別(陣列和指標是複合型別)。

    整數的資料型別有8種: unsigned char, signed char, short int, unsigned short int, int, unsigned int, long int, unsigned long。

    為了正確,合理的使用這些資料型別,我們需要了解他們的含意,並知道每個整數型別的取值範圍。這裡我簡單的將整數分成如下型別:

    l 字元型(char):char可能是unsigned char的縮寫,也可能是signed char縮寫,取決於編譯器,它通常用來儲存字元。用1個位元組表示。

    l 短整型(short):型別說明符為short int或short。記憶體中佔有2個位元組。

    l 基本型(int):比較常用的型別,佔用記憶體不小也不大,是整數型別中使用相對較多的型別,在記憶體中至少佔用2個位元組,通常佔用4個位元組。

    l 長整型(long):型別說明符為long int或long,在記憶體中至少佔4個位元組。

    l 無符號型(unsigned):首位不是符號位,不能表示負數。前面4種類型都有與之對應的無符號型別。

    下表列出了C語言中各類整型資料所分配的記憶體位元組數及數的表示範圍。

    教程網秒秒學《資料型別》中對數值型別有很多的介紹,你可以看下

  • 2 # 靈敏風鈴9h

    整型資料就是整數。


    1、整型資料的分類


    整型資料的一般分類如下:(以下說明的在記憶體中所佔的位元組數均是在vs2012這個開發工具裡面的)


    基本型:型別說明符為int,在記憶體中佔4個位元組。


    短整型:型別說明符為short int或short。所佔位元組和取值範圍均與基本型相同。


    長整型:型別說明符為long int或long,在記憶體中佔4個位元組。


    長長整型:型別說明符為long long int或long long,在記憶體中佔8個位元組


    無符號型:型別說明符為unsigned。


    無符號型又可與上述三種類型匹配而構成:


    無符號基本型:型別說明符為unsigned int或unsigned。


    無符號短整型:型別說明符為unsigned short。


    無符號長整型:型別說明符為unsigned long。


    無符號長長整型:型別說明符為unsigned long long int。


    在記憶體中,有符號整數表示的範圍是-2的n-1次方到2的n-1次方-1


    無符號的整數表示的範圍為0到2的n次方-1


    2、整數資料在記憶體中的存放形式


    數值是以補碼錶示的:正數的補碼和原碼相同;負數的補碼:將該數的絕對值的二進位制形式按位取反再加1。


    由反碼變回原碼的技巧,遇到第一個1是前面的數全部取反,即為原碼


    3、整型資料的表示方法


    上面講到的整數,都是十進位制。在C語言中,常用的還有八進位制和十六進位制。下面集中講解一下:

    1) 十進位制數

    十進位制數沒有字首。其數碼為0~9。

    以下是合法的十進位制數:237、-568、65535、1627;

    以下是不合法的十進位制數:023 (不能有前導0)、23D (含有非十進位制數碼)。

    在程式中是根據字首來區分各種進位制數的。因此在書寫時不要把字首弄錯造成結果不正確。

    2) 八進位制數

    八進位制數必須以0開頭,即以0作為八進位制數的字首。數碼取值為0~7。八進位制數通常是無符號數。

    以下是合法的八進位制數:015(十進位制為13)、0101(十進位制為65)、0177777(十進位制為65535);

    以下是不合法的八進位制數:256(無字首0)、03A2(包含了非八進位制數碼)、-0127(出現了負號)。

    3) 十六進位制數

    十六進位制數的字首為0X或0x。其數碼取值為0~9,A~F或a~f。

    以下是合法的十六進位制數:0X2A(十進位制為42)、0XA0 (十進位制為160)、0XFFFF(十進位制為65535);

    以下是不合法的十六進位制數:5A (無字首0X)、0X3H (含有非十六進位制數碼)。

    4) 整數的字尾

    可以用字尾“L”或“l”來表示長整型數。例如:


    十進位制長整型數:158L (十進位制為158)、358000L (十進位制為358000);


    八進位制長整型數:012L (十進位制為10)、077L (十進位制為63)、0200000L(十進位制為65536);


    十六進位制長整型數:0X15L (十進位制為21)、0XA5L (十進位制為165)、0X10000L (十進位制為65536)。


    幾個整型變數的定義:


    int a,b,c; // a,b,c為整型變數


    long x,y; // x,y為長整型變數


    unsigned p,q; // p,q為無符號整型變數

  • 中秋節和大豐收的關聯?
  • 秦襄昭王是明君嗎?