C語言之整型資料型別

2021-07-29 01:26:55 字數 1640 閱讀 8490

整型資料就是整數。

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為無符號整型變數

C語言之資料型別(整型 符號變數以及浮點)

整型包括短整型 整型和長整型,同時,這些型別又分為有符號型和無符號型。符號變數可以與整型相互轉換。各型別變數長度如下表 型別範圍 長度unsigned char 0 255 8位 signed char 127 127 8位 signed short int 32767 32767 16位unsig...

C語言之資料型別

恢復內容開始 在c語言中我們的資料型別分為以下幾大類 1 基本資料型別 int,float,double,char,bool c99中新加的 列舉enum 很多朋友對於enum被定義為是基本型別可能會有些迷惑,但是我們都知道列舉型別的特殊之處就是總能把資料變化為整形資料,我們可以認為列舉就是一種特殊...

C語言之資料型別 整數型別

c語言的變數型別 如 char x 1 儲存的值是 0000 0001 char y 1 儲存的值是 1111 1111 注意 int在16計算機中與short寬度一樣,在32以上的計算機中與long一樣 見原碼,補碼,反碼 資料溢位,是把高位捨棄還是低位捨棄?實驗 c 執行轉反彙編 因此 是捨棄高...